Exact expanded first-order arithmetic statement
forall q k n A B C D u E F G H v. (((forall jt_i_exists_source. (exists jt_gap_exists_sourcesoundindex. jt_gap_exists_sourcesoundindex+S (jt_i_exists_source)=(u)) -> exists jt_b_exists_source jt_c_exists_source. ((((((exists fs_h_jt_exists_sourcesoundcode. fs_h_jt_exists_sourcesoundcode + S (jt_b_exists_source) = S ((S (jt_i_exists_source)) * B)) /\ exists fs_q_jt_exists_sourcesoundcode. A = fs_q_jt_exists_sourcesoundcode * S ((S (jt_i_exists_source)) * B) + (jt_b_exists_source))) /\ (((exists fs_h_jt_exists_sourcesoundscale. fs_h_jt_exists_sourcesoundscale + S (jt_c_exists_source) = S ((S (jt_i_exists_source)) * D)) /\ exists fs_q_jt_exists_sourcesoundscale. C = fs_q_jt_exists_sourcesoundscale * S ((S (jt_i_exists_source)) * D) + (jt_c_exists_source))))) /\ (((forall jt_index_exists_sourcebound. (exists jt_gap_exists_sourceboundindex. jt_gap_exists_sourceboundindex+S (jt_index_exists_sourcebound)=(k)) -> exists jt_value_exists_sourcebound. ((((exists fs_h_jt_exists_sourceboundat. fs_h_jt_exists_sourceboundat + S (jt_value_exists_sourcebound) = S ((S (jt_index_exists_sourcebound)) * jt_c_exists_source)) /\ exists fs_q_jt_exists_sourceboundat. jt_b_exists_source = fs_q_jt_exists_sourceboundat * S ((S (jt_index_exists_sourcebound)) * jt_c_exists_source) + (jt_value_exists_sourcebound))) /\ (exists jt_gap_exists_sourceboundvalue. jt_gap_exists_sourceboundvalue+S (jt_value_exists_sourcebound)=(n)))) /\ (forall jt_divisor_exists_sourceprimitive. (exists jt_factor_exists_sourceprimitivemodulus. (n)=(jt_divisor_exists_sourceprimitive)*jt_factor_exists_sourceprimitivemodulus) -> (forall jt_index_exists_sourceprimitivecoordinates jt_value_exists_sourceprimitivecoordinates. (exists jt_gap_exists_sourceprimitivecoordinatesindex. jt_gap_exists_sourceprimitivecoordinatesindex+S (jt_index_exists_sourceprimitivecoordinates)=(k)) -> (((exists fs_h_jt_exists_sourceprimitivecoordinatesat. fs_h_jt_exists_sourceprimitivecoordinatesat + S (jt_value_exists_sourceprimitivecoordinates) = S ((S (jt_index_exists_sourceprimitivecoordinates)) * jt_c_exists_source)) /\ exists fs_q_jt_exists_sourceprimitivecoordinatesat. jt_b_exists_source = fs_q_jt_exists_sourceprimitivecoordinatesat * S ((S (jt_index_exists_sourceprimitivecoordinates)) * jt_c_exists_source) + (jt_value_exists_sourceprimitivecoordinates))) -> (exists jt_factor_exists_sourceprimitivecoordinatesdivides. (jt_value_exists_sourceprimitivecoordinates)=(jt_divisor_exists_sourceprimitive)*jt_factor_exists_sourceprimitivecoordinatesdivides)) -> jt_divisor_exists_sourceprimitive=1))))) /\ (((forall jt_b_exists_source jt_c_exists_source. (forall jt_index_exists_sourceinputbound. (exists jt_gap_exists_sourceinputboundindex. jt_gap_exists_sourceinputboundindex+S (jt_index_exists_sourceinputbound)=(k)) -> exists jt_value_exists_sourceinputbound. ((((exists fs_h_jt_exists_sourceinputboundat. fs_h_jt_exists_sourceinputboundat + S (jt_value_exists_sourceinputbound) = S ((S (jt_index_exists_sourceinputbound)) * jt_c_exists_source)) /\ exists fs_q_jt_exists_sourceinputboundat. jt_b_exists_source = fs_q_jt_exists_sourceinputboundat * S ((S (jt_index_exists_sourceinputbound)) * jt_c_exists_source) + (jt_value_exists_sourceinputbound))) /\ (exists jt_gap_exists_sourceinputboundvalue. jt_gap_exists_sourceinputboundvalue+S (jt_value_exists_sourceinputbound)=(n)))) -> (forall jt_divisor_exists_sourceinputprimitive. (exists jt_factor_exists_sourceinputprimitivemodulus. (n)=(jt_divisor_exists_sourceinputprimitive)*jt_factor_exists_sourceinputprimitivemodulus) -> (forall jt_index_exists_sourceinputprimitivecoordinates jt_value_exists_sourceinputprimitivecoordinates. (exists jt_gap_exists_sourceinputprimitivecoordinatesindex. jt_gap_exists_sourceinputprimitivecoordinatesindex+S (jt_index_exists_sourceinputprimitivecoordinates)=(k)) -> (((exists fs_h_jt_exists_sourceinputprimitivecoordinatesat. fs_h_jt_exists_sourceinputprimitivecoordinatesat + S (jt_value_exists_sourceinputprimitivecoordinates) = S ((S (jt_index_exists_sourceinputprimitivecoordinates)) * jt_c_exists_source)) /\ exists fs_q_jt_exists_sourceinputprimitivecoordinatesat. jt_b_exists_source = fs_q_jt_exists_sourceinputprimitivecoordinatesat * S ((S (jt_index_exists_sourceinputprimitivecoordinates)) * jt_c_exists_source) + (jt_value_exists_sourceinputprimitivecoordinates))) -> (exists jt_factor_exists_sourceinputprimitivecoordinatesdivides. (jt_value_exists_sourceinputprimitivecoordinates)=(jt_divisor_exists_sourceinputprimitive)*jt_factor_exists_sourceinputprimitivecoordinatesdivides)) -> jt_divisor_exists_sourceinputprimitive=1) -> exists jt_i_exists_source jt_d_exists_source jt_e_exists_source. ((exists jt_gap_exists_sourcecompleteindex. jt_gap_exists_sourcecompleteindex+S (jt_i_exists_source)=(u)) /\ (((((((exists fs_h_jt_exists_sourcecompletecode. fs_h_jt_exists_sourcecompletecode + S (jt_d_exists_source) = S ((S (jt_i_exists_source)) * B)) /\ exists fs_q_jt_exists_sourcecompletecode. A = fs_q_jt_exists_sourcecompletecode * S ((S (jt_i_exists_source)) * B) + (jt_d_exists_source))) /\ (((exists fs_h_jt_exists_sourcecompletescale. fs_h_jt_exists_sourcecompletescale + S (jt_e_exists_source) = S ((S (jt_i_exists_source)) * D)) /\ exists fs_q_jt_exists_sourcecompletescale. C = fs_q_jt_exists_sourcecompletescale * S ((S (jt_i_exists_source)) * D) + (jt_e_exists_source))))) /\ (forall jt_index_exists_sourcerepresented jt_left_exists_sourcerepresented jt_right_exists_sourcerepresented. (exists jt_gap_exists_sourcerepresentedindex. jt_gap_exists_sourcerepresentedindex+S (jt_index_exists_sourcerepresented)=(k)) -> (((exists fs_h_jt_exists_sourcerepresentedleft. fs_h_jt_exists_sourcerepresentedleft + S (jt_left_exists_sourcerepresented) = S ((S (jt_index_exists_sourcerepresented)) * jt_c_exists_source)) /\ exists fs_q_jt_exists_sourcerepresentedleft. jt_b_exists_source = fs_q_jt_exists_sourcerepresentedleft * S ((S (jt_index_exists_sourcerepresented)) * jt_c_exists_source) + (jt_left_exists_sourcerepresented))) -> (((exists fs_h_jt_exists_sourcerepresentedright. fs_h_jt_exists_sourcerepresentedright + S (jt_right_exists_sourcerepresented) = S ((S (jt_index_exists_sourcerepresented)) * jt_e_exists_source)) /\ exists fs_q_jt_exists_sourcerepresentedright. jt_d_exists_source = fs_q_jt_exists_sourcerepresentedright * S ((S (jt_index_exists_sourcerepresented)) * jt_e_exists_source) + (jt_right_exists_sourcerepresented))) -> jt_left_exists_sourcerepresented=jt_right_exists_sourcerepresented))))) /\ (forall jt_i_exists_source jt_h_exists_source jt_b_exists_source jt_c_exists_source jt_d_exists_source jt_e_exists_source. (exists jt_gap_exists_sourcefirstindex. jt_gap_exists_sourcefirstindex+S (jt_i_exists_source)=(u)) -> (exists jt_gap_exists_sourcesecondindex. jt_gap_exists_sourcesecondindex+S (jt_h_exists_source)=(u)) -> (((((exists fs_h_jt_exists_sourcefirstcode. fs_h_jt_exists_sourcefirstcode + S (jt_b_exists_source) = S ((S (jt_i_exists_source)) * B)) /\ exists fs_q_jt_exists_sourcefirstcode. A = fs_q_jt_exists_sourcefirstcode * S ((S (jt_i_exists_source)) * B) + (jt_b_exists_source))) /\ (((exists fs_h_jt_exists_sourcefirstscale. fs_h_jt_exists_sourcefirstscale + S (jt_c_exists_source) = S ((S (jt_i_exists_source)) * D)) /\ exists fs_q_jt_exists_sourcefirstscale. C = fs_q_jt_exists_sourcefirstscale * S ((S (jt_i_exists_source)) * D) + (jt_c_exists_source))))) -> (((((exists fs_h_jt_exists_sourcesecondcode. fs_h_jt_exists_sourcesecondcode + S (jt_d_exists_source) = S ((S (jt_h_exists_source)) * B)) /\ exists fs_q_jt_exists_sourcesecondcode. A = fs_q_jt_exists_sourcesecondcode * S ((S (jt_h_exists_source)) * B) + (jt_d_exists_source))) /\ (((exists fs_h_jt_exists_sourcesecondscale. fs_h_jt_exists_sourcesecondscale + S (jt_e_exists_source) = S ((S (jt_h_exists_source)) * D)) /\ exists fs_q_jt_exists_sourcesecondscale. C = fs_q_jt_exists_sourcesecondscale * S ((S (jt_h_exists_source)) * D) + (jt_e_exists_source))))) -> (forall jt_index_exists_sourcesame jt_left_exists_sourcesame jt_right_exists_sourcesame. (exists jt_gap_exists_sourcesameindex. jt_gap_exists_sourcesameindex+S (jt_index_exists_sourcesame)=(k)) -> (((exists fs_h_jt_exists_sourcesameleft. fs_h_jt_exists_sourcesameleft + S (jt_left_exists_sourcesame) = S ((S (jt_index_exists_sourcesame)) * jt_c_exists_source)) /\ exists fs_q_jt_exists_sourcesameleft. jt_b_exists_source = fs_q_jt_exists_sourcesameleft * S ((S (jt_index_exists_sourcesame)) * jt_c_exists_source) + (jt_left_exists_sourcesame))) -> (((exists fs_h_jt_exists_sourcesameright. fs_h_jt_exists_sourcesameright + S (jt_right_exists_sourcesame) = S ((S (jt_index_exists_sourcesame)) * jt_e_exists_source)) /\ exists fs_q_jt_exists_sourcesameright. jt_d_exists_source = fs_q_jt_exists_sourcesameright * S ((S (jt_index_exists_sourcesame)) * jt_e_exists_source) + (jt_right_exists_sourcesame))) -> jt_left_exists_sourcesame=jt_right_exists_sourcesame) -> jt_i_exists_source=jt_h_exists_source))))) -> (((forall jt_i_exists_target. (exists jt_gap_exists_targetsoundindex. jt_gap_exists_targetsoundindex+S (jt_i_exists_target)=(v)) -> exists jt_b_exists_target jt_c_exists_target. ((((((exists fs_h_jt_exists_targetsoundcode. fs_h_jt_exists_targetsoundcode + S (jt_b_exists_target) = S ((S (jt_i_exists_target)) * F)) /\ exists fs_q_jt_exists_targetsoundcode. E = fs_q_jt_exists_targetsoundcode * S ((S (jt_i_exists_target)) * F) + (jt_b_exists_target))) /\ (((exists fs_h_jt_exists_targetsoundscale. fs_h_jt_exists_targetsoundscale + S (jt_c_exists_target) = S ((S (jt_i_exists_target)) * H)) /\ exists fs_q_jt_exists_targetsoundscale. G = fs_q_jt_exists_targetsoundscale * S ((S (jt_i_exists_target)) * H) + (jt_c_exists_target))))) /\ (((forall jt_index_exists_targetbound. (exists jt_gap_exists_targetboundindex. jt_gap_exists_targetboundindex+S (jt_index_exists_targetbound)=(k)) -> exists jt_value_exists_targetbound. ((((exists fs_h_jt_exists_targetboundat. fs_h_jt_exists_targetboundat + S (jt_value_exists_targetbound) = S ((S (jt_index_exists_targetbound)) * jt_c_exists_target)) /\ exists fs_q_jt_exists_targetboundat. jt_b_exists_target = fs_q_jt_exists_targetboundat * S ((S (jt_index_exists_targetbound)) * jt_c_exists_target) + (jt_value_exists_targetbound))) /\ (exists jt_gap_exists_targetboundvalue. jt_gap_exists_targetboundvalue+S (jt_value_exists_targetbound)=(n)))) /\ (forall jt_divisor_exists_targetprimitive. (exists jt_factor_exists_targetprimitivemodulus. (n)=(jt_divisor_exists_targetprimitive)*jt_factor_exists_targetprimitivemodulus) -> (forall jt_index_exists_targetprimitivecoordinates jt_value_exists_targetprimitivecoordinates. (exists jt_gap_exists_targetprimitivecoordinatesindex. jt_gap_exists_targetprimitivecoordinatesindex+S (jt_index_exists_targetprimitivecoordinates)=(k)) -> (((exists fs_h_jt_exists_targetprimitivecoordinatesat. fs_h_jt_exists_targetprimitivecoordinatesat + S (jt_value_exists_targetprimitivecoordinates) = S ((S (jt_index_exists_targetprimitivecoordinates)) * jt_c_exists_target)) /\ exists fs_q_jt_exists_targetprimitivecoordinatesat. jt_b_exists_target = fs_q_jt_exists_targetprimitivecoordinatesat * S ((S (jt_index_exists_targetprimitivecoordinates)) * jt_c_exists_target) + (jt_value_exists_targetprimitivecoordinates))) -> (exists jt_factor_exists_targetprimitivecoordinatesdivides. (jt_value_exists_targetprimitivecoordinates)=(jt_divisor_exists_targetprimitive)*jt_factor_exists_targetprimitivecoordinatesdivides)) -> jt_divisor_exists_targetprimitive=1))))) /\ (((forall jt_b_exists_target jt_c_exists_target. (forall jt_index_exists_targetinputbound. (exists jt_gap_exists_targetinputboundindex. jt_gap_exists_targetinputboundindex+S (jt_index_exists_targetinputbound)=(k)) -> exists jt_value_exists_targetinputbound. ((((exists fs_h_jt_exists_targetinputboundat. fs_h_jt_exists_targetinputboundat + S (jt_value_exists_targetinputbound) = S ((S (jt_index_exists_targetinputbound)) * jt_c_exists_target)) /\ exists fs_q_jt_exists_targetinputboundat. jt_b_exists_target = fs_q_jt_exists_targetinputboundat * S ((S (jt_index_exists_targetinputbound)) * jt_c_exists_target) + (jt_value_exists_targetinputbound))) /\ (exists jt_gap_exists_targetinputboundvalue. jt_gap_exists_targetinputboundvalue+S (jt_value_exists_targetinputbound)=(n)))) -> (forall jt_divisor_exists_targetinputprimitive. (exists jt_factor_exists_targetinputprimitivemodulus. (n)=(jt_divisor_exists_targetinputprimitive)*jt_factor_exists_targetinputprimitivemodulus) -> (forall jt_index_exists_targetinputprimitivecoordinates jt_value_exists_targetinputprimitivecoordinates. (exists jt_gap_exists_targetinputprimitivecoordinatesindex. jt_gap_exists_targetinputprimitivecoordinatesindex+S (jt_index_exists_targetinputprimitivecoordinates)=(k)) -> (((exists fs_h_jt_exists_targetinputprimitivecoordinatesat. fs_h_jt_exists_targetinputprimitivecoordinatesat + S (jt_value_exists_targetinputprimitivecoordinates) = S ((S (jt_index_exists_targetinputprimitivecoordinates)) * jt_c_exists_target)) /\ exists fs_q_jt_exists_targetinputprimitivecoordinatesat. jt_b_exists_target = fs_q_jt_exists_targetinputprimitivecoordinatesat * S ((S (jt_index_exists_targetinputprimitivecoordinates)) * jt_c_exists_target) + (jt_value_exists_targetinputprimitivecoordinates))) -> (exists jt_factor_exists_targetinputprimitivecoordinatesdivides. (jt_value_exists_targetinputprimitivecoordinates)=(jt_divisor_exists_targetinputprimitive)*jt_factor_exists_targetinputprimitivecoordinatesdivides)) -> jt_divisor_exists_targetinputprimitive=1) -> exists jt_i_exists_target jt_d_exists_target jt_e_exists_target. ((exists jt_gap_exists_targetcompleteindex. jt_gap_exists_targetcompleteindex+S (jt_i_exists_target)=(v)) /\ (((((((exists fs_h_jt_exists_targetcompletecode. fs_h_jt_exists_targetcompletecode + S (jt_d_exists_target) = S ((S (jt_i_exists_target)) * F)) /\ exists fs_q_jt_exists_targetcompletecode. E = fs_q_jt_exists_targetcompletecode * S ((S (jt_i_exists_target)) * F) + (jt_d_exists_target))) /\ (((exists fs_h_jt_exists_targetcompletescale. fs_h_jt_exists_targetcompletescale + S (jt_e_exists_target) = S ((S (jt_i_exists_target)) * H)) /\ exists fs_q_jt_exists_targetcompletescale. G = fs_q_jt_exists_targetcompletescale * S ((S (jt_i_exists_target)) * H) + (jt_e_exists_target))))) /\ (forall jt_index_exists_targetrepresented jt_left_exists_targetrepresented jt_right_exists_targetrepresented. (exists jt_gap_exists_targetrepresentedindex. jt_gap_exists_targetrepresentedindex+S (jt_index_exists_targetrepresented)=(k)) -> (((exists fs_h_jt_exists_targetrepresentedleft. fs_h_jt_exists_targetrepresentedleft + S (jt_left_exists_targetrepresented) = S ((S (jt_index_exists_targetrepresented)) * jt_c_exists_target)) /\ exists fs_q_jt_exists_targetrepresentedleft. jt_b_exists_target = fs_q_jt_exists_targetrepresentedleft * S ((S (jt_index_exists_targetrepresented)) * jt_c_exists_target) + (jt_left_exists_targetrepresented))) -> (((exists fs_h_jt_exists_targetrepresentedright. fs_h_jt_exists_targetrepresentedright + S (jt_right_exists_targetrepresented) = S ((S (jt_index_exists_targetrepresented)) * jt_e_exists_target)) /\ exists fs_q_jt_exists_targetrepresentedright. jt_d_exists_target = fs_q_jt_exists_targetrepresentedright * S ((S (jt_index_exists_targetrepresented)) * jt_e_exists_target) + (jt_right_exists_targetrepresented))) -> jt_left_exists_targetrepresented=jt_right_exists_targetrepresented))))) /\ (forall jt_i_exists_target jt_h_exists_target jt_b_exists_target jt_c_exists_target jt_d_exists_target jt_e_exists_target. (exists jt_gap_exists_targetfirstindex. jt_gap_exists_targetfirstindex+S (jt_i_exists_target)=(v)) -> (exists jt_gap_exists_targetsecondindex. jt_gap_exists_targetsecondindex+S (jt_h_exists_target)=(v)) -> (((((exists fs_h_jt_exists_targetfirstcode. fs_h_jt_exists_targetfirstcode + S (jt_b_exists_target) = S ((S (jt_i_exists_target)) * F)) /\ exists fs_q_jt_exists_targetfirstcode. E = fs_q_jt_exists_targetfirstcode * S ((S (jt_i_exists_target)) * F) + (jt_b_exists_target))) /\ (((exists fs_h_jt_exists_targetfirstscale. fs_h_jt_exists_targetfirstscale + S (jt_c_exists_target) = S ((S (jt_i_exists_target)) * H)) /\ exists fs_q_jt_exists_targetfirstscale. G = fs_q_jt_exists_targetfirstscale * S ((S (jt_i_exists_target)) * H) + (jt_c_exists_target))))) -> (((((exists fs_h_jt_exists_targetsecondcode. fs_h_jt_exists_targetsecondcode + S (jt_d_exists_target) = S ((S (jt_h_exists_target)) * F)) /\ exists fs_q_jt_exists_targetsecondcode. E = fs_q_jt_exists_targetsecondcode * S ((S (jt_h_exists_target)) * F) + (jt_d_exists_target))) /\ (((exists fs_h_jt_exists_targetsecondscale. fs_h_jt_exists_targetsecondscale + S (jt_e_exists_target) = S ((S (jt_h_exists_target)) * H)) /\ exists fs_q_jt_exists_targetsecondscale. G = fs_q_jt_exists_targetsecondscale * S ((S (jt_h_exists_target)) * H) + (jt_e_exists_target))))) -> (forall jt_index_exists_targetsame jt_left_exists_targetsame jt_right_exists_targetsame. (exists jt_gap_exists_targetsameindex. jt_gap_exists_targetsameindex+S (jt_index_exists_targetsame)=(k)) -> (((exists fs_h_jt_exists_targetsameleft. fs_h_jt_exists_targetsameleft + S (jt_left_exists_targetsame) = S ((S (jt_index_exists_targetsame)) * jt_c_exists_target)) /\ exists fs_q_jt_exists_targetsameleft. jt_b_exists_target = fs_q_jt_exists_targetsameleft * S ((S (jt_index_exists_targetsame)) * jt_c_exists_target) + (jt_left_exists_targetsame))) -> (((exists fs_h_jt_exists_targetsameright. fs_h_jt_exists_targetsameright + S (jt_right_exists_targetsame) = S ((S (jt_index_exists_targetsame)) * jt_e_exists_target)) /\ exists fs_q_jt_exists_targetsameright. jt_d_exists_target = fs_q_jt_exists_targetsameright * S ((S (jt_index_exists_targetsame)) * jt_e_exists_target) + (jt_right_exists_targetsame))) -> jt_left_exists_targetsame=jt_right_exists_targetsame) -> jt_i_exists_target=jt_h_exists_target))))) -> (exists jt_gap_exists_bound. jt_gap_exists_bound+(q)=(u)) -> (exists Z W. forall jt_index_exists_map. (exists jt_gap_exists_mapindex. jt_gap_exists_mapindex+S (jt_index_exists_map)=(q)) -> exists jt_image_exists_map. ((((exists fs_h_jt_exists_mapat. fs_h_jt_exists_mapat + S (jt_image_exists_map) = S ((S (jt_index_exists_map)) * W)) /\ exists fs_q_jt_exists_mapat. Z = fs_q_jt_exists_mapat * S ((S (jt_index_exists_map)) * W) + (jt_image_exists_map))) /\ (((exists jt_gap_exists_mapbound. jt_gap_exists_mapbound+S (jt_image_exists_map)=(v)) /\ (forall jt_b_exists_mapmatch jt_c_exists_mapmatch jt_d_exists_mapmatch jt_e_exists_mapmatch. (((((exists fs_h_jt_exists_mapmatchleftcode. fs_h_jt_exists_mapmatchleftcode + S (jt_b_exists_mapmatch) = S ((S (jt_index_exists_map)) * B)) /\ exists fs_q_jt_exists_mapmatchleftcode. A = fs_q_jt_exists_mapmatchleftcode * S ((S (jt_index_exists_map)) * B) + (jt_b_exists_mapmatch))) /\ (((exists fs_h_jt_exists_mapmatchleftscale. fs_h_jt_exists_mapmatchleftscale + S (jt_c_exists_mapmatch) = S ((S (jt_index_exists_map)) * D)) /\ exists fs_q_jt_exists_mapmatchleftscale. C = fs_q_jt_exists_mapmatchleftscale * S ((S (jt_index_exists_map)) * D) + (jt_c_exists_mapmatch))))) -> (((((exists fs_h_jt_exists_mapmatchrightcode. fs_h_jt_exists_mapmatchrightcode + S (jt_d_exists_mapmatch) = S ((S (jt_image_exists_map)) * F)) /\ exists fs_q_jt_exists_mapmatchrightcode. E = fs_q_jt_exists_mapmatchrightcode * S ((S (jt_image_exists_map)) * F) + (jt_d_exists_mapmatch))) /\ (((exists fs_h_jt_exists_mapmatchrightscale. fs_h_jt_exists_mapmatchrightscale + S (jt_e_exists_mapmatch) = S ((S (jt_image_exists_map)) * H)) /\ exists fs_q_jt_exists_mapmatchrightscale. G = fs_q_jt_exists_mapmatchrightscale * S ((S (jt_image_exists_map)) * H) + (jt_e_exists_mapmatch))))) -> (forall jt_index_exists_mapmatchequal jt_left_exists_mapmatchequal jt_right_exists_mapmatchequal. (exists jt_gap_exists_mapmatchequalindex. jt_gap_exists_mapmatchequalindex+S (jt_index_exists_mapmatchequal)=(k)) -> (((exists fs_h_jt_exists_mapmatchequalleft. fs_h_jt_exists_mapmatchequalleft + S (jt_left_exists_mapmatchequal) = S ((S (jt_index_exists_mapmatchequal)) * jt_c_exists_mapmatch)) /\ exists fs_q_jt_exists_mapmatchequalleft. jt_b_exists_mapmatch = fs_q_jt_exists_mapmatchequalleft * S ((S (jt_index_exists_mapmatchequal)) * jt_c_exists_mapmatch) + (jt_left_exists_mapmatchequal))) -> (((exists fs_h_jt_exists_mapmatchequalright. fs_h_jt_exists_mapmatchequalright + S (jt_right_exists_mapmatchequal) = S ((S (jt_index_exists_mapmatchequal)) * jt_e_exists_mapmatch)) /\ exists fs_q_jt_exists_mapmatchequalright. jt_d_exists_mapmatch = fs_q_jt_exists_mapmatchequalright * S ((S (jt_index_exists_mapmatchequal)) * jt_e_exists_mapmatch) + (jt_right_exists_mapmatchequal))) -> jt_left_exists_mapmatchequal=jt_right_exists_mapmatchequal))))))Constructive proof overview
Generated structural guide
Finite induction constructs an actual beta map for every source prefix, with no finite-choice axiom.
The unchanged tactic script uses 5 declared prerequisites and contains 109 exact native proof lines.
Alpha v35 checked-use · first admitted v35 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
JT004E jordan_enumeration_index_map_empty le_trans Alpha theorem; checked-use authorized le_succ_self Alpha theorem; checked-use authorized JT004D jordan_enumeration_position_match_exists JT004F jordan_enumeration_index_map_appendDirect 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 (3)
01Induction on qL1–10
02Fix variables and assumptionsL11–16
03Construct an explicit witnessL17–18
04Use earlier factsL19–28
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L19
specialize jordan_enumeration_index_map_empty (k) - L20
specialize jordan_enumeration_index_map_empty (A) - L21
specialize jordan_enumeration_index_map_empty (B) - L22
specialize jordan_enumeration_index_map_empty (C) - L23
specialize jordan_enumeration_index_map_empty (D) - L24
specialize jordan_enumeration_index_map_empty (E) - L25
specialize jordan_enumeration_index_map_empty (F) - L26
specialize jordan_enumeration_index_map_empty (G) - L27
specialize jordan_enumeration_index_map_empty (H) - L28
specialize jordan_enumeration_index_map_empty (0)
05Use earlier factsL29–31
06Fix variables and assumptionsL32–41
07Fix variables and assumptionsL42–46
08Establish hpL47–56
Establish this local claim before using it. It is not an additional assumption.
- L47
have hp : ∃ Z. ∃ W. ∀ jt_index_induction_prefix. Lt(jt_index_induction_prefix,q) → ∃ x. BetaAt(Z,W,jt_index_induction_prefix,x) ∧ (Lt(x,v) ∧ (∀ y. ∀ z. ∀ n. ∀ m. BetaAt(A,B,jt_index_induction_prefix,y) ∧ BetaAt(C,D,jt_index_induction_prefix,z) → BetaAt(E,F,x,n) ∧ BetaAt(G,H,x,m) → IntegerVectorZero(y,z,n,m,k)))Definitions: IntegerVectorZeroLtBetaAt - L48
specialize IH (k) - L49
specialize IH (n) - L50
specialize IH (A) - L51
specialize IH (B) - L52
specialize IH (C) - L53
specialize IH (D) - L54
specialize IH (u) - L55
specialize IH (E) - L56
specialize IH (F)
09Use earlier factsL57–66
10Use earlier factsL67–69
11Separate the logical casesL70–71
12Establish hmL72–81
Establish this local claim before using it. It is not an additional assumption.
- L72
have hm : ∃ j. Lt(j,v) ∧ (∀ x. ∀ y. ∀ z. ∀ n. BetaAt(A,B,q,x) ∧ BetaAt(C,D,q,y) → BetaAt(E,F,j,z) ∧ BetaAt(G,H,j,n) → IntegerVectorZero(x,y,z,n,k))Definitions: IntegerVectorZeroLtBetaAt - L73
specialize jordan_enumeration_position_match_exists (k) - L74
specialize jordan_enumeration_position_match_exists (n) - L75
specialize jordan_enumeration_position_match_exists (A) - L76
specialize jordan_enumeration_position_match_exists (B) - L77
specialize jordan_enumeration_position_match_exists (C) - L78
specialize jordan_enumeration_position_match_exists (D) - L79
specialize jordan_enumeration_position_match_exists (u) - L80
specialize jordan_enumeration_position_match_exists (E) - L81
specialize jordan_enumeration_position_match_exists (F)
13Use earlier factsL82–89
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L82
specialize jordan_enumeration_position_match_exists (G) - L83
specialize jordan_enumeration_position_match_exists (H) - L84
specialize jordan_enumeration_position_match_exists (v) - L85
specialize jordan_enumeration_position_match_exists (q) - L86
apply jordan_enumeration_position_match_exists - L87
exact hl - L88
exact hr - L89
exact hq
14Separate the logical casesL90–91
15Use earlier factsL92–101
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L92
specialize jordan_enumeration_index_map_append (k) - L93
specialize jordan_enumeration_index_map_append (A) - L94
specialize jordan_enumeration_index_map_append (B) - L95
specialize jordan_enumeration_index_map_append (C) - L96
specialize jordan_enumeration_index_map_append (D) - L97
specialize jordan_enumeration_index_map_append (E) - L98
specialize jordan_enumeration_index_map_append (F) - L99
specialize jordan_enumeration_index_map_append (G) - L100
specialize jordan_enumeration_index_map_append (H) - L101
specialize jordan_enumeration_index_map_append (x)
16Use earlier factsL102–109
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L102
specialize jordan_enumeration_index_map_append (x1) - L103
specialize jordan_enumeration_index_map_append (q) - L104
specialize jordan_enumeration_index_map_append (v) - L105
specialize jordan_enumeration_index_map_append (x2) - L106
apply jordan_enumeration_index_map_append - L107
exact hp_witness_witness - L108
exact hm_witness_left - L109
exact hm_witness_right
Original exact command ledger · 109 lines
- 0001
induction q - 0002
intro k - 0003
intro n - 0004
intro A - 0005
intro B - 0006
intro C - 0007
intro D - 0008
intro u - 0009
intro E - 0010
intro F - 0011
intro G - 0012
intro H - 0013
intro v - 0014
intro hl - 0015
intro hr - 0016
intro hq - 0017
exists 0 - 0018
exists 0 - 0019
specialize jordan_enumeration_index_map_empty (k) - 0020
specialize jordan_enumeration_index_map_empty (A) - 0021
specialize jordan_enumeration_index_map_empty (B) - 0022
specialize jordan_enumeration_index_map_empty (C) - 0023
specialize jordan_enumeration_index_map_empty (D) - 0024
specialize jordan_enumeration_index_map_empty (E) - 0025
specialize jordan_enumeration_index_map_empty (F) - 0026
specialize jordan_enumeration_index_map_empty (G) - 0027
specialize jordan_enumeration_index_map_empty (H) - 0028
specialize jordan_enumeration_index_map_empty (0) - 0029
specialize jordan_enumeration_index_map_empty (0) - 0030
specialize jordan_enumeration_index_map_empty (v) - 0031
apply jordan_enumeration_index_map_empty - 0032
intro k - 0033
intro n - 0034
intro A - 0035
intro B - 0036
intro C - 0037
intro D - 0038
intro u - 0039
intro E - 0040
intro F - 0041
intro G - 0042
intro H - 0043
intro v - 0044
intro hl - 0045
intro hr - 0046
intro hq - 0047
have hp : exists Z W. forall jt_index_induction_prefix. (exists jt_gap_induction_prefixindex. jt_gap_induction_prefixindex+S (jt_index_induction_prefix)=(q)) -> exists jt_image_induction_prefix. ((((exists fs_h_jt_induction_prefixat. fs_h_jt_induction_prefixat + S (jt_image_induction_prefix) = S ((S (jt_index_induction_prefix)) * W)) /\ exists fs_q_jt_induction_prefixat. Z = fs_q_jt_induction_prefixat * S ((S (jt_index_induction_prefix)) * W) + (jt_image_induction_prefix))) /\ (((exists jt_gap_induction_prefixbound. jt_gap_induction_prefixbound+S (jt_image_induction_prefix)=(v)) /\ (forall jt_b_induction_prefixmatch jt_c_induction_prefixmatch jt_d_induction_prefixmatch jt_e_induction_prefixmatch. (((((exists fs_h_jt_induction_prefixmatchleftcode. fs_h_jt_induction_prefixmatchleftcode + S (jt_b_induction_prefixmatch) = S ((S (jt_index_induction_prefix)) * B)) /\ exists fs_q_jt_induction_prefixmatchleftcode. A = fs_q_jt_induction_prefixmatchleftcode * S ((S (jt_index_induction_prefix)) * B) + (jt_b_induction_prefixmatch))) /\ (((exists fs_h_jt_induction_prefixmatchleftscale. fs_h_jt_induction_prefixmatchleftscale + S (jt_c_induction_prefixmatch) = S ((S (jt_index_induction_prefix)) * D)) /\ exists fs_q_jt_induction_prefixmatchleftscale. C = fs_q_jt_induction_prefixmatchleftscale * S ((S (jt_index_induction_prefix)) * D) + (jt_c_induction_prefixmatch))))) -> (((((exists fs_h_jt_induction_prefixmatchrightcode. fs_h_jt_induction_prefixmatchrightcode + S (jt_d_induction_prefixmatch) = S ((S (jt_image_induction_prefix)) * F)) /\ exists fs_q_jt_induction_prefixmatchrightcode. E = fs_q_jt_induction_prefixmatchrightcode * S ((S (jt_image_induction_prefix)) * F) + (jt_d_induction_prefixmatch))) /\ (((exists fs_h_jt_induction_prefixmatchrightscale. fs_h_jt_induction_prefixmatchrightscale + S (jt_e_induction_prefixmatch) = S ((S (jt_image_induction_prefix)) * H)) /\ exists fs_q_jt_induction_prefixmatchrightscale. G = fs_q_jt_induction_prefixmatchrightscale * S ((S (jt_image_induction_prefix)) * H) + (jt_e_induction_prefixmatch))))) -> (forall jt_index_induction_prefixmatchequal jt_left_induction_prefixmatchequal jt_right_induction_prefixmatchequal. (exists jt_gap_induction_prefixmatchequalindex. jt_gap_induction_prefixmatchequalindex+S (jt_index_induction_prefixmatchequal)=(k)) -> (((exists fs_h_jt_induction_prefixmatchequalleft. fs_h_jt_induction_prefixmatchequalleft + S (jt_left_induction_prefixmatchequal) = S ((S (jt_index_induction_prefixmatchequal)) * jt_c_induction_prefixmatch)) /\ exists fs_q_jt_induction_prefixmatchequalleft. jt_b_induction_prefixmatch = fs_q_jt_induction_prefixmatchequalleft * S ((S (jt_index_induction_prefixmatchequal)) * jt_c_induction_prefixmatch) + (jt_left_induction_prefixmatchequal))) -> (((exists fs_h_jt_induction_prefixmatchequalright. fs_h_jt_induction_prefixmatchequalright + S (jt_right_induction_prefixmatchequal) = S ((S (jt_index_induction_prefixmatchequal)) * jt_e_induction_prefixmatch)) /\ exists fs_q_jt_induction_prefixmatchequalright. jt_d_induction_prefixmatch = fs_q_jt_induction_prefixmatchequalright * S ((S (jt_index_induction_prefixmatchequal)) * jt_e_induction_prefixmatch) + (jt_right_induction_prefixmatchequal))) -> jt_left_induction_prefixmatchequal=jt_right_induction_prefixmatchequal))))) - 0048
specialize IH (k) - 0049
specialize IH (n) - 0050
specialize IH (A) - 0051
specialize IH (B) - 0052
specialize IH (C) - 0053
specialize IH (D) - 0054
specialize IH (u) - 0055
specialize IH (E) - 0056
specialize IH (F) - 0057
specialize IH (G) - 0058
specialize IH (H) - 0059
specialize IH (v) - 0060
apply IH - 0061
exact hl - 0062
exact hr - 0063
specialize le_trans (q) - 0064
specialize le_trans (S q) - 0065
specialize le_trans (u) - 0066
apply le_trans - 0067
specialize le_succ_self (q) - 0068
apply le_succ_self - 0069
exact hq - 0070
cases hp - 0071
cases hp_witness - 0072
have hm : exists j. ((exists jt_gap_induction_image_bound. jt_gap_induction_image_bound+S (j)=(v)) /\ (forall jt_b_induction_image_match jt_c_induction_image_match jt_d_induction_image_match jt_e_induction_image_match. (((((exists fs_h_jt_induction_image_matchleftcode. fs_h_jt_induction_image_matchleftcode + S (jt_b_induction_image_match) = S ((S (q)) * B)) /\ exists fs_q_jt_induction_image_matchleftcode. A = fs_q_jt_induction_image_matchleftcode * S ((S (q)) * B) + (jt_b_induction_image_match))) /\ (((exists fs_h_jt_induction_image_matchleftscale. fs_h_jt_induction_image_matchleftscale + S (jt_c_induction_image_match) = S ((S (q)) * D)) /\ exists fs_q_jt_induction_image_matchleftscale. C = fs_q_jt_induction_image_matchleftscale * S ((S (q)) * D) + (jt_c_induction_image_match))))) -> (((((exists fs_h_jt_induction_image_matchrightcode. fs_h_jt_induction_image_matchrightcode + S (jt_d_induction_image_match) = S ((S (j)) * F)) /\ exists fs_q_jt_induction_image_matchrightcode. E = fs_q_jt_induction_image_matchrightcode * S ((S (j)) * F) + (jt_d_induction_image_match))) /\ (((exists fs_h_jt_induction_image_matchrightscale. fs_h_jt_induction_image_matchrightscale + S (jt_e_induction_image_match) = S ((S (j)) * H)) /\ exists fs_q_jt_induction_image_matchrightscale. G = fs_q_jt_induction_image_matchrightscale * S ((S (j)) * H) + (jt_e_induction_image_match))))) -> (forall jt_index_induction_image_matchequal jt_left_induction_image_matchequal jt_right_induction_image_matchequal. (exists jt_gap_induction_image_matchequalindex. jt_gap_induction_image_matchequalindex+S (jt_index_induction_image_matchequal)=(k)) -> (((exists fs_h_jt_induction_image_matchequalleft. fs_h_jt_induction_image_matchequalleft + S (jt_left_induction_image_matchequal) = S ((S (jt_index_induction_image_matchequal)) * jt_c_induction_image_match)) /\ exists fs_q_jt_induction_image_matchequalleft. jt_b_induction_image_match = fs_q_jt_induction_image_matchequalleft * S ((S (jt_index_induction_image_matchequal)) * jt_c_induction_image_match) + (jt_left_induction_image_matchequal))) -> (((exists fs_h_jt_induction_image_matchequalright. fs_h_jt_induction_image_matchequalright + S (jt_right_induction_image_matchequal) = S ((S (jt_index_induction_image_matchequal)) * jt_e_induction_image_match)) /\ exists fs_q_jt_induction_image_matchequalright. jt_d_induction_image_match = fs_q_jt_induction_image_matchequalright * S ((S (jt_index_induction_image_matchequal)) * jt_e_induction_image_match) + (jt_right_induction_image_matchequal))) -> jt_left_induction_image_matchequal=jt_right_induction_image_matchequal))) - 0073
specialize jordan_enumeration_position_match_exists (k) - 0074
specialize jordan_enumeration_position_match_exists (n) - 0075
specialize jordan_enumeration_position_match_exists (A) - 0076
specialize jordan_enumeration_position_match_exists (B) - 0077
specialize jordan_enumeration_position_match_exists (C) - 0078
specialize jordan_enumeration_position_match_exists (D) - 0079
specialize jordan_enumeration_position_match_exists (u) - 0080
specialize jordan_enumeration_position_match_exists (E) - 0081
specialize jordan_enumeration_position_match_exists (F) - 0082
specialize jordan_enumeration_position_match_exists (G) - 0083
specialize jordan_enumeration_position_match_exists (H) - 0084
specialize jordan_enumeration_position_match_exists (v) - 0085
specialize jordan_enumeration_position_match_exists (q) - 0086
apply jordan_enumeration_position_match_exists - 0087
exact hl - 0088
exact hr - 0089
exact hq - 0090
cases hm - 0091
cases hm_witness - 0092
specialize jordan_enumeration_index_map_append (k) - 0093
specialize jordan_enumeration_index_map_append (A) - 0094
specialize jordan_enumeration_index_map_append (B) - 0095
specialize jordan_enumeration_index_map_append (C) - 0096
specialize jordan_enumeration_index_map_append (D) - 0097
specialize jordan_enumeration_index_map_append (E) - 0098
specialize jordan_enumeration_index_map_append (F) - 0099
specialize jordan_enumeration_index_map_append (G) - 0100
specialize jordan_enumeration_index_map_append (H) - 0101
specialize jordan_enumeration_index_map_append (x) - 0102
specialize jordan_enumeration_index_map_append (x1) - 0103
specialize jordan_enumeration_index_map_append (q) - 0104
specialize jordan_enumeration_index_map_append (v) - 0105
specialize jordan_enumeration_index_map_append (x2) - 0106
apply jordan_enumeration_index_map_append - 0107
exact hp_witness_witness - 0108
exact hm_witness_left - 0109
exact hm_witness_right