Exact expanded first-order arithmetic statement
forall m n k A B C D u E F G H v P Q R T q. ~(m=0) -> ~(n=0) -> (forall jt_divisor_rectappendcop. (exists jt_factor_rectappendcopa. (m)=(jt_divisor_rectappendcop)*jt_factor_rectappendcopa) -> (exists jt_factor_rectappendcopb. (n)=(jt_divisor_rectappendcop)*jt_factor_rectappendcopb) -> jt_divisor_rectappendcop=1) -> (((forall jt_i_rectappendleft. (exists jt_gap_rectappendleftsoundindex. jt_gap_rectappendleftsoundindex+S (jt_i_rectappendleft)=(u)) -> exists jt_b_rectappendleft jt_c_rectappendleft. ((((((exists fs_h_jt_rectappendleftsoundcode. fs_h_jt_rectappendleftsoundcode + S (jt_b_rectappendleft) = S ((S (jt_i_rectappendleft)) * B)) /\ exists fs_q_jt_rectappendleftsoundcode. A = fs_q_jt_rectappendleftsoundcode * S ((S (jt_i_rectappendleft)) * B) + (jt_b_rectappendleft))) /\ (((exists fs_h_jt_rectappendleftsoundscale. fs_h_jt_rectappendleftsoundscale + S (jt_c_rectappendleft) = S ((S (jt_i_rectappendleft)) * D)) /\ exists fs_q_jt_rectappendleftsoundscale. C = fs_q_jt_rectappendleftsoundscale * S ((S (jt_i_rectappendleft)) * D) + (jt_c_rectappendleft))))) /\ (((forall jt_index_rectappendleftbound. (exists jt_gap_rectappendleftboundindex. jt_gap_rectappendleftboundindex+S (jt_index_rectappendleftbound)=(k)) -> exists jt_value_rectappendleftbound. ((((exists fs_h_jt_rectappendleftboundat. fs_h_jt_rectappendleftboundat + S (jt_value_rectappendleftbound) = S ((S (jt_index_rectappendleftbound)) * jt_c_rectappendleft)) /\ exists fs_q_jt_rectappendleftboundat. jt_b_rectappendleft = fs_q_jt_rectappendleftboundat * S ((S (jt_index_rectappendleftbound)) * jt_c_rectappendleft) + (jt_value_rectappendleftbound))) /\ (exists jt_gap_rectappendleftboundvalue. jt_gap_rectappendleftboundvalue+S (jt_value_rectappendleftbound)=(m)))) /\ (forall jt_divisor_rectappendleftprimitive. (exists jt_factor_rectappendleftprimitivemodulus. (m)=(jt_divisor_rectappendleftprimitive)*jt_factor_rectappendleftprimitivemodulus) -> (forall jt_index_rectappendleftprimitivecoordinates jt_value_rectappendleftprimitivecoordinates. (exists jt_gap_rectappendleftprimitivecoordinatesindex. jt_gap_rectappendleftprimitivecoordinatesindex+S (jt_index_rectappendleftprimitivecoordinates)=(k)) -> (((exists fs_h_jt_rectappendleftprimitivecoordinatesat. fs_h_jt_rectappendleftprimitivecoordinatesat + S (jt_value_rectappendleftprimitivecoordinates) = S ((S (jt_index_rectappendleftprimitivecoordinates)) * jt_c_rectappendleft)) /\ exists fs_q_jt_rectappendleftprimitivecoordinatesat. jt_b_rectappendleft = fs_q_jt_rectappendleftprimitivecoordinatesat * S ((S (jt_index_rectappendleftprimitivecoordinates)) * jt_c_rectappendleft) + (jt_value_rectappendleftprimitivecoordinates))) -> (exists jt_factor_rectappendleftprimitivecoordinatesdivides. (jt_value_rectappendleftprimitivecoordinates)=(jt_divisor_rectappendleftprimitive)*jt_factor_rectappendleftprimitivecoordinatesdivides)) -> jt_divisor_rectappendleftprimitive=1))))) /\ (((forall jt_b_rectappendleft jt_c_rectappendleft. (forall jt_index_rectappendleftinputbound. (exists jt_gap_rectappendleftinputboundindex. jt_gap_rectappendleftinputboundindex+S (jt_index_rectappendleftinputbound)=(k)) -> exists jt_value_rectappendleftinputbound. ((((exists fs_h_jt_rectappendleftinputboundat. fs_h_jt_rectappendleftinputboundat + S (jt_value_rectappendleftinputbound) = S ((S (jt_index_rectappendleftinputbound)) * jt_c_rectappendleft)) /\ exists fs_q_jt_rectappendleftinputboundat. jt_b_rectappendleft = fs_q_jt_rectappendleftinputboundat * S ((S (jt_index_rectappendleftinputbound)) * jt_c_rectappendleft) + (jt_value_rectappendleftinputbound))) /\ (exists jt_gap_rectappendleftinputboundvalue. jt_gap_rectappendleftinputboundvalue+S (jt_value_rectappendleftinputbound)=(m)))) -> (forall jt_divisor_rectappendleftinputprimitive. (exists jt_factor_rectappendleftinputprimitivemodulus. (m)=(jt_divisor_rectappendleftinputprimitive)*jt_factor_rectappendleftinputprimitivemodulus) -> (forall jt_index_rectappendleftinputprimitivecoordinates jt_value_rectappendleftinputprimitivecoordinates. (exists jt_gap_rectappendleftinputprimitivecoordinatesindex. jt_gap_rectappendleftinputprimitivecoordinatesindex+S (jt_index_rectappendleftinputprimitivecoordinates)=(k)) -> (((exists fs_h_jt_rectappendleftinputprimitivecoordinatesat. fs_h_jt_rectappendleftinputprimitivecoordinatesat + S (jt_value_rectappendleftinputprimitivecoordinates) = S ((S (jt_index_rectappendleftinputprimitivecoordinates)) * jt_c_rectappendleft)) /\ exists fs_q_jt_rectappendleftinputprimitivecoordinatesat. jt_b_rectappendleft = fs_q_jt_rectappendleftinputprimitivecoordinatesat * S ((S (jt_index_rectappendleftinputprimitivecoordinates)) * jt_c_rectappendleft) + (jt_value_rectappendleftinputprimitivecoordinates))) -> (exists jt_factor_rectappendleftinputprimitivecoordinatesdivides. (jt_value_rectappendleftinputprimitivecoordinates)=(jt_divisor_rectappendleftinputprimitive)*jt_factor_rectappendleftinputprimitivecoordinatesdivides)) -> jt_divisor_rectappendleftinputprimitive=1) -> exists jt_i_rectappendleft jt_d_rectappendleft jt_e_rectappendleft. ((exists jt_gap_rectappendleftcompleteindex. jt_gap_rectappendleftcompleteindex+S (jt_i_rectappendleft)=(u)) /\ (((((((exists fs_h_jt_rectappendleftcompletecode. fs_h_jt_rectappendleftcompletecode + S (jt_d_rectappendleft) = S ((S (jt_i_rectappendleft)) * B)) /\ exists fs_q_jt_rectappendleftcompletecode. A = fs_q_jt_rectappendleftcompletecode * S ((S (jt_i_rectappendleft)) * B) + (jt_d_rectappendleft))) /\ (((exists fs_h_jt_rectappendleftcompletescale. fs_h_jt_rectappendleftcompletescale + S (jt_e_rectappendleft) = S ((S (jt_i_rectappendleft)) * D)) /\ exists fs_q_jt_rectappendleftcompletescale. C = fs_q_jt_rectappendleftcompletescale * S ((S (jt_i_rectappendleft)) * D) + (jt_e_rectappendleft))))) /\ (forall jt_index_rectappendleftrepresented jt_left_rectappendleftrepresented jt_right_rectappendleftrepresented. (exists jt_gap_rectappendleftrepresentedindex. jt_gap_rectappendleftrepresentedindex+S (jt_index_rectappendleftrepresented)=(k)) -> (((exists fs_h_jt_rectappendleftrepresentedleft. fs_h_jt_rectappendleftrepresentedleft + S (jt_left_rectappendleftrepresented) = S ((S (jt_index_rectappendleftrepresented)) * jt_c_rectappendleft)) /\ exists fs_q_jt_rectappendleftrepresentedleft. jt_b_rectappendleft = fs_q_jt_rectappendleftrepresentedleft * S ((S (jt_index_rectappendleftrepresented)) * jt_c_rectappendleft) + (jt_left_rectappendleftrepresented))) -> (((exists fs_h_jt_rectappendleftrepresentedright. fs_h_jt_rectappendleftrepresentedright + S (jt_right_rectappendleftrepresented) = S ((S (jt_index_rectappendleftrepresented)) * jt_e_rectappendleft)) /\ exists fs_q_jt_rectappendleftrepresentedright. jt_d_rectappendleft = fs_q_jt_rectappendleftrepresentedright * S ((S (jt_index_rectappendleftrepresented)) * jt_e_rectappendleft) + (jt_right_rectappendleftrepresented))) -> jt_left_rectappendleftrepresented=jt_right_rectappendleftrepresented))))) /\ (forall jt_i_rectappendleft jt_h_rectappendleft jt_b_rectappendleft jt_c_rectappendleft jt_d_rectappendleft jt_e_rectappendleft. (exists jt_gap_rectappendleftfirstindex. jt_gap_rectappendleftfirstindex+S (jt_i_rectappendleft)=(u)) -> (exists jt_gap_rectappendleftsecondindex. jt_gap_rectappendleftsecondindex+S (jt_h_rectappendleft)=(u)) -> (((((exists fs_h_jt_rectappendleftfirstcode. fs_h_jt_rectappendleftfirstcode + S (jt_b_rectappendleft) = S ((S (jt_i_rectappendleft)) * B)) /\ exists fs_q_jt_rectappendleftfirstcode. A = fs_q_jt_rectappendleftfirstcode * S ((S (jt_i_rectappendleft)) * B) + (jt_b_rectappendleft))) /\ (((exists fs_h_jt_rectappendleftfirstscale. fs_h_jt_rectappendleftfirstscale + S (jt_c_rectappendleft) = S ((S (jt_i_rectappendleft)) * D)) /\ exists fs_q_jt_rectappendleftfirstscale. C = fs_q_jt_rectappendleftfirstscale * S ((S (jt_i_rectappendleft)) * D) + (jt_c_rectappendleft))))) -> (((((exists fs_h_jt_rectappendleftsecondcode. fs_h_jt_rectappendleftsecondcode + S (jt_d_rectappendleft) = S ((S (jt_h_rectappendleft)) * B)) /\ exists fs_q_jt_rectappendleftsecondcode. A = fs_q_jt_rectappendleftsecondcode * S ((S (jt_h_rectappendleft)) * B) + (jt_d_rectappendleft))) /\ (((exists fs_h_jt_rectappendleftsecondscale. fs_h_jt_rectappendleftsecondscale + S (jt_e_rectappendleft) = S ((S (jt_h_rectappendleft)) * D)) /\ exists fs_q_jt_rectappendleftsecondscale. C = fs_q_jt_rectappendleftsecondscale * S ((S (jt_h_rectappendleft)) * D) + (jt_e_rectappendleft))))) -> (forall jt_index_rectappendleftsame jt_left_rectappendleftsame jt_right_rectappendleftsame. (exists jt_gap_rectappendleftsameindex. jt_gap_rectappendleftsameindex+S (jt_index_rectappendleftsame)=(k)) -> (((exists fs_h_jt_rectappendleftsameleft. fs_h_jt_rectappendleftsameleft + S (jt_left_rectappendleftsame) = S ((S (jt_index_rectappendleftsame)) * jt_c_rectappendleft)) /\ exists fs_q_jt_rectappendleftsameleft. jt_b_rectappendleft = fs_q_jt_rectappendleftsameleft * S ((S (jt_index_rectappendleftsame)) * jt_c_rectappendleft) + (jt_left_rectappendleftsame))) -> (((exists fs_h_jt_rectappendleftsameright. fs_h_jt_rectappendleftsameright + S (jt_right_rectappendleftsame) = S ((S (jt_index_rectappendleftsame)) * jt_e_rectappendleft)) /\ exists fs_q_jt_rectappendleftsameright. jt_d_rectappendleft = fs_q_jt_rectappendleftsameright * S ((S (jt_index_rectappendleftsame)) * jt_e_rectappendleft) + (jt_right_rectappendleftsame))) -> jt_left_rectappendleftsame=jt_right_rectappendleftsame) -> jt_i_rectappendleft=jt_h_rectappendleft))))) -> (((forall jt_i_rectappendright. (exists jt_gap_rectappendrightsoundindex. jt_gap_rectappendrightsoundindex+S (jt_i_rectappendright)=(v)) -> exists jt_b_rectappendright jt_c_rectappendright. ((((((exists fs_h_jt_rectappendrightsoundcode. fs_h_jt_rectappendrightsoundcode + S (jt_b_rectappendright) = S ((S (jt_i_rectappendright)) * F)) /\ exists fs_q_jt_rectappendrightsoundcode. E = fs_q_jt_rectappendrightsoundcode * S ((S (jt_i_rectappendright)) * F) + (jt_b_rectappendright))) /\ (((exists fs_h_jt_rectappendrightsoundscale. fs_h_jt_rectappendrightsoundscale + S (jt_c_rectappendright) = S ((S (jt_i_rectappendright)) * H)) /\ exists fs_q_jt_rectappendrightsoundscale. G = fs_q_jt_rectappendrightsoundscale * S ((S (jt_i_rectappendright)) * H) + (jt_c_rectappendright))))) /\ (((forall jt_index_rectappendrightbound. (exists jt_gap_rectappendrightboundindex. jt_gap_rectappendrightboundindex+S (jt_index_rectappendrightbound)=(k)) -> exists jt_value_rectappendrightbound. ((((exists fs_h_jt_rectappendrightboundat. fs_h_jt_rectappendrightboundat + S (jt_value_rectappendrightbound) = S ((S (jt_index_rectappendrightbound)) * jt_c_rectappendright)) /\ exists fs_q_jt_rectappendrightboundat. jt_b_rectappendright = fs_q_jt_rectappendrightboundat * S ((S (jt_index_rectappendrightbound)) * jt_c_rectappendright) + (jt_value_rectappendrightbound))) /\ (exists jt_gap_rectappendrightboundvalue. jt_gap_rectappendrightboundvalue+S (jt_value_rectappendrightbound)=(n)))) /\ (forall jt_divisor_rectappendrightprimitive. (exists jt_factor_rectappendrightprimitivemodulus. (n)=(jt_divisor_rectappendrightprimitive)*jt_factor_rectappendrightprimitivemodulus) -> (forall jt_index_rectappendrightprimitivecoordinates jt_value_rectappendrightprimitivecoordinates. (exists jt_gap_rectappendrightprimitivecoordinatesindex. jt_gap_rectappendrightprimitivecoordinatesindex+S (jt_index_rectappendrightprimitivecoordinates)=(k)) -> (((exists fs_h_jt_rectappendrightprimitivecoordinatesat. fs_h_jt_rectappendrightprimitivecoordinatesat + S (jt_value_rectappendrightprimitivecoordinates) = S ((S (jt_index_rectappendrightprimitivecoordinates)) * jt_c_rectappendright)) /\ exists fs_q_jt_rectappendrightprimitivecoordinatesat. jt_b_rectappendright = fs_q_jt_rectappendrightprimitivecoordinatesat * S ((S (jt_index_rectappendrightprimitivecoordinates)) * jt_c_rectappendright) + (jt_value_rectappendrightprimitivecoordinates))) -> (exists jt_factor_rectappendrightprimitivecoordinatesdivides. (jt_value_rectappendrightprimitivecoordinates)=(jt_divisor_rectappendrightprimitive)*jt_factor_rectappendrightprimitivecoordinatesdivides)) -> jt_divisor_rectappendrightprimitive=1))))) /\ (((forall jt_b_rectappendright jt_c_rectappendright. (forall jt_index_rectappendrightinputbound. (exists jt_gap_rectappendrightinputboundindex. jt_gap_rectappendrightinputboundindex+S (jt_index_rectappendrightinputbound)=(k)) -> exists jt_value_rectappendrightinputbound. ((((exists fs_h_jt_rectappendrightinputboundat. fs_h_jt_rectappendrightinputboundat + S (jt_value_rectappendrightinputbound) = S ((S (jt_index_rectappendrightinputbound)) * jt_c_rectappendright)) /\ exists fs_q_jt_rectappendrightinputboundat. jt_b_rectappendright = fs_q_jt_rectappendrightinputboundat * S ((S (jt_index_rectappendrightinputbound)) * jt_c_rectappendright) + (jt_value_rectappendrightinputbound))) /\ (exists jt_gap_rectappendrightinputboundvalue. jt_gap_rectappendrightinputboundvalue+S (jt_value_rectappendrightinputbound)=(n)))) -> (forall jt_divisor_rectappendrightinputprimitive. (exists jt_factor_rectappendrightinputprimitivemodulus. (n)=(jt_divisor_rectappendrightinputprimitive)*jt_factor_rectappendrightinputprimitivemodulus) -> (forall jt_index_rectappendrightinputprimitivecoordinates jt_value_rectappendrightinputprimitivecoordinates. (exists jt_gap_rectappendrightinputprimitivecoordinatesindex. jt_gap_rectappendrightinputprimitivecoordinatesindex+S (jt_index_rectappendrightinputprimitivecoordinates)=(k)) -> (((exists fs_h_jt_rectappendrightinputprimitivecoordinatesat. fs_h_jt_rectappendrightinputprimitivecoordinatesat + S (jt_value_rectappendrightinputprimitivecoordinates) = S ((S (jt_index_rectappendrightinputprimitivecoordinates)) * jt_c_rectappendright)) /\ exists fs_q_jt_rectappendrightinputprimitivecoordinatesat. jt_b_rectappendright = fs_q_jt_rectappendrightinputprimitivecoordinatesat * S ((S (jt_index_rectappendrightinputprimitivecoordinates)) * jt_c_rectappendright) + (jt_value_rectappendrightinputprimitivecoordinates))) -> (exists jt_factor_rectappendrightinputprimitivecoordinatesdivides. (jt_value_rectappendrightinputprimitivecoordinates)=(jt_divisor_rectappendrightinputprimitive)*jt_factor_rectappendrightinputprimitivecoordinatesdivides)) -> jt_divisor_rectappendrightinputprimitive=1) -> exists jt_i_rectappendright jt_d_rectappendright jt_e_rectappendright. ((exists jt_gap_rectappendrightcompleteindex. jt_gap_rectappendrightcompleteindex+S (jt_i_rectappendright)=(v)) /\ (((((((exists fs_h_jt_rectappendrightcompletecode. fs_h_jt_rectappendrightcompletecode + S (jt_d_rectappendright) = S ((S (jt_i_rectappendright)) * F)) /\ exists fs_q_jt_rectappendrightcompletecode. E = fs_q_jt_rectappendrightcompletecode * S ((S (jt_i_rectappendright)) * F) + (jt_d_rectappendright))) /\ (((exists fs_h_jt_rectappendrightcompletescale. fs_h_jt_rectappendrightcompletescale + S (jt_e_rectappendright) = S ((S (jt_i_rectappendright)) * H)) /\ exists fs_q_jt_rectappendrightcompletescale. G = fs_q_jt_rectappendrightcompletescale * S ((S (jt_i_rectappendright)) * H) + (jt_e_rectappendright))))) /\ (forall jt_index_rectappendrightrepresented jt_left_rectappendrightrepresented jt_right_rectappendrightrepresented. (exists jt_gap_rectappendrightrepresentedindex. jt_gap_rectappendrightrepresentedindex+S (jt_index_rectappendrightrepresented)=(k)) -> (((exists fs_h_jt_rectappendrightrepresentedleft. fs_h_jt_rectappendrightrepresentedleft + S (jt_left_rectappendrightrepresented) = S ((S (jt_index_rectappendrightrepresented)) * jt_c_rectappendright)) /\ exists fs_q_jt_rectappendrightrepresentedleft. jt_b_rectappendright = fs_q_jt_rectappendrightrepresentedleft * S ((S (jt_index_rectappendrightrepresented)) * jt_c_rectappendright) + (jt_left_rectappendrightrepresented))) -> (((exists fs_h_jt_rectappendrightrepresentedright. fs_h_jt_rectappendrightrepresentedright + S (jt_right_rectappendrightrepresented) = S ((S (jt_index_rectappendrightrepresented)) * jt_e_rectappendright)) /\ exists fs_q_jt_rectappendrightrepresentedright. jt_d_rectappendright = fs_q_jt_rectappendrightrepresentedright * S ((S (jt_index_rectappendrightrepresented)) * jt_e_rectappendright) + (jt_right_rectappendrightrepresented))) -> jt_left_rectappendrightrepresented=jt_right_rectappendrightrepresented))))) /\ (forall jt_i_rectappendright jt_h_rectappendright jt_b_rectappendright jt_c_rectappendright jt_d_rectappendright jt_e_rectappendright. (exists jt_gap_rectappendrightfirstindex. jt_gap_rectappendrightfirstindex+S (jt_i_rectappendright)=(v)) -> (exists jt_gap_rectappendrightsecondindex. jt_gap_rectappendrightsecondindex+S (jt_h_rectappendright)=(v)) -> (((((exists fs_h_jt_rectappendrightfirstcode. fs_h_jt_rectappendrightfirstcode + S (jt_b_rectappendright) = S ((S (jt_i_rectappendright)) * F)) /\ exists fs_q_jt_rectappendrightfirstcode. E = fs_q_jt_rectappendrightfirstcode * S ((S (jt_i_rectappendright)) * F) + (jt_b_rectappendright))) /\ (((exists fs_h_jt_rectappendrightfirstscale. fs_h_jt_rectappendrightfirstscale + S (jt_c_rectappendright) = S ((S (jt_i_rectappendright)) * H)) /\ exists fs_q_jt_rectappendrightfirstscale. G = fs_q_jt_rectappendrightfirstscale * S ((S (jt_i_rectappendright)) * H) + (jt_c_rectappendright))))) -> (((((exists fs_h_jt_rectappendrightsecondcode. fs_h_jt_rectappendrightsecondcode + S (jt_d_rectappendright) = S ((S (jt_h_rectappendright)) * F)) /\ exists fs_q_jt_rectappendrightsecondcode. E = fs_q_jt_rectappendrightsecondcode * S ((S (jt_h_rectappendright)) * F) + (jt_d_rectappendright))) /\ (((exists fs_h_jt_rectappendrightsecondscale. fs_h_jt_rectappendrightsecondscale + S (jt_e_rectappendright) = S ((S (jt_h_rectappendright)) * H)) /\ exists fs_q_jt_rectappendrightsecondscale. G = fs_q_jt_rectappendrightsecondscale * S ((S (jt_h_rectappendright)) * H) + (jt_e_rectappendright))))) -> (forall jt_index_rectappendrightsame jt_left_rectappendrightsame jt_right_rectappendrightsame. (exists jt_gap_rectappendrightsameindex. jt_gap_rectappendrightsameindex+S (jt_index_rectappendrightsame)=(k)) -> (((exists fs_h_jt_rectappendrightsameleft. fs_h_jt_rectappendrightsameleft + S (jt_left_rectappendrightsame) = S ((S (jt_index_rectappendrightsame)) * jt_c_rectappendright)) /\ exists fs_q_jt_rectappendrightsameleft. jt_b_rectappendright = fs_q_jt_rectappendrightsameleft * S ((S (jt_index_rectappendrightsame)) * jt_c_rectappendright) + (jt_left_rectappendrightsame))) -> (((exists fs_h_jt_rectappendrightsameright. fs_h_jt_rectappendrightsameright + S (jt_right_rectappendrightsame) = S ((S (jt_index_rectappendrightsame)) * jt_e_rectappendright)) /\ exists fs_q_jt_rectappendrightsameright. jt_d_rectappendright = fs_q_jt_rectappendrightsameright * S ((S (jt_index_rectappendrightsame)) * jt_e_rectappendright) + (jt_right_rectappendrightsame))) -> jt_left_rectappendrightsame=jt_right_rectappendrightsame) -> jt_i_rectappendright=jt_h_rectappendright))))) -> (forall jt_index_rectappendold. (exists jt_gap_rectappendoldindex. jt_gap_rectappendoldindex+S (jt_index_rectappendold)=(q)) -> exists jt_row_rectappendold jt_column_rectappendold jt_b_rectappendold jt_c_rectappendold jt_d_rectappendold jt_e_rectappendold jt_f_rectappendold jt_g_rectappendold. ((exists jt_gap_rectappendoldrow. jt_gap_rectappendoldrow+S (jt_row_rectappendold)=(u)) /\ (((exists jt_gap_rectappendoldcolumn. jt_gap_rectappendoldcolumn+S (jt_column_rectappendold)=(v)) /\ (((jt_index_rectappendold=(v)*jt_row_rectappendold+jt_column_rectappendold) /\ (((((((exists fs_h_jt_rectappendoldleftcode. fs_h_jt_rectappendoldleftcode + S (jt_b_rectappendold) = S ((S (jt_row_rectappendold)) * B)) /\ exists fs_q_jt_rectappendoldleftcode. A = fs_q_jt_rectappendoldleftcode * S ((S (jt_row_rectappendold)) * B) + (jt_b_rectappendold))) /\ (((exists fs_h_jt_rectappendoldleftscale. fs_h_jt_rectappendoldleftscale + S (jt_c_rectappendold) = S ((S (jt_row_rectappendold)) * D)) /\ exists fs_q_jt_rectappendoldleftscale. C = fs_q_jt_rectappendoldleftscale * S ((S (jt_row_rectappendold)) * D) + (jt_c_rectappendold))))) /\ (((((((exists fs_h_jt_rectappendoldrightcode. fs_h_jt_rectappendoldrightcode + S (jt_d_rectappendold) = S ((S (jt_column_rectappendold)) * F)) /\ exists fs_q_jt_rectappendoldrightcode. E = fs_q_jt_rectappendoldrightcode * S ((S (jt_column_rectappendold)) * F) + (jt_d_rectappendold))) /\ (((exists fs_h_jt_rectappendoldrightscale. fs_h_jt_rectappendoldrightscale + S (jt_e_rectappendold) = S ((S (jt_column_rectappendold)) * H)) /\ exists fs_q_jt_rectappendoldrightscale. G = fs_q_jt_rectappendoldrightscale * S ((S (jt_column_rectappendold)) * H) + (jt_e_rectappendold))))) /\ (((((((exists fs_h_jt_rectappendoldoutputcode. fs_h_jt_rectappendoldoutputcode + S (jt_f_rectappendold) = S ((S (jt_index_rectappendold)) * Q)) /\ exists fs_q_jt_rectappendoldoutputcode. P = fs_q_jt_rectappendoldoutputcode * S ((S (jt_index_rectappendold)) * Q) + (jt_f_rectappendold))) /\ (((exists fs_h_jt_rectappendoldoutputscale. fs_h_jt_rectappendoldoutputscale + S (jt_g_rectappendold) = S ((S (jt_index_rectappendold)) * T)) /\ exists fs_q_jt_rectappendoldoutputscale. R = fs_q_jt_rectappendoldoutputscale * S ((S (jt_index_rectappendold)) * T) + (jt_g_rectappendold))))) /\ (((((forall jt_index_rectappendoldcrtbound. (exists jt_gap_rectappendoldcrtboundindex. jt_gap_rectappendoldcrtboundindex+S (jt_index_rectappendoldcrtbound)=(k)) -> exists jt_value_rectappendoldcrtbound. ((((exists fs_h_jt_rectappendoldcrtboundat. fs_h_jt_rectappendoldcrtboundat + S (jt_value_rectappendoldcrtbound) = S ((S (jt_index_rectappendoldcrtbound)) * jt_g_rectappendold)) /\ exists fs_q_jt_rectappendoldcrtboundat. jt_f_rectappendold = fs_q_jt_rectappendoldcrtboundat * S ((S (jt_index_rectappendoldcrtbound)) * jt_g_rectappendold) + (jt_value_rectappendoldcrtbound))) /\ (exists jt_gap_rectappendoldcrtboundvalue. jt_gap_rectappendoldcrtboundvalue+S (jt_value_rectappendoldcrtbound)=(m*n)))) /\ (((forall jt_index_rectappendoldcrtleft jt_left_rectappendoldcrtleft jt_right_rectappendoldcrtleft. (exists jt_gap_rectappendoldcrtleftindex. jt_gap_rectappendoldcrtleftindex+S (jt_index_rectappendoldcrtleft)=(k)) -> (((exists fs_h_jt_rectappendoldcrtleftleft. fs_h_jt_rectappendoldcrtleftleft + S (jt_left_rectappendoldcrtleft) = S ((S (jt_index_rectappendoldcrtleft)) * jt_g_rectappendold)) /\ exists fs_q_jt_rectappendoldcrtleftleft. jt_f_rectappendold = fs_q_jt_rectappendoldcrtleftleft * S ((S (jt_index_rectappendoldcrtleft)) * jt_g_rectappendold) + (jt_left_rectappendoldcrtleft))) -> (((exists fs_h_jt_rectappendoldcrtleftright. fs_h_jt_rectappendoldcrtleftright + S (jt_right_rectappendoldcrtleft) = S ((S (jt_index_rectappendoldcrtleft)) * jt_c_rectappendold)) /\ exists fs_q_jt_rectappendoldcrtleftright. jt_b_rectappendold = fs_q_jt_rectappendoldcrtleftright * S ((S (jt_index_rectappendoldcrtleft)) * jt_c_rectappendold) + (jt_right_rectappendoldcrtleft))) -> (exists jt_left_rectappendoldcrtleftmod jt_right_rectappendoldcrtleftmod. (jt_left_rectappendoldcrtleft)+(m)*jt_left_rectappendoldcrtleftmod=(jt_right_rectappendoldcrtleft)+(m)*jt_right_rectappendoldcrtleftmod)) /\ (forall jt_index_rectappendoldcrtright jt_left_rectappendoldcrtright jt_right_rectappendoldcrtright. (exists jt_gap_rectappendoldcrtrightindex. jt_gap_rectappendoldcrtrightindex+S (jt_index_rectappendoldcrtright)=(k)) -> (((exists fs_h_jt_rectappendoldcrtrightleft. fs_h_jt_rectappendoldcrtrightleft + S (jt_left_rectappendoldcrtright) = S ((S (jt_index_rectappendoldcrtright)) * jt_g_rectappendold)) /\ exists fs_q_jt_rectappendoldcrtrightleft. jt_f_rectappendold = fs_q_jt_rectappendoldcrtrightleft * S ((S (jt_index_rectappendoldcrtright)) * jt_g_rectappendold) + (jt_left_rectappendoldcrtright))) -> (((exists fs_h_jt_rectappendoldcrtrightright. fs_h_jt_rectappendoldcrtrightright + S (jt_right_rectappendoldcrtright) = S ((S (jt_index_rectappendoldcrtright)) * jt_e_rectappendold)) /\ exists fs_q_jt_rectappendoldcrtrightright. jt_d_rectappendold = fs_q_jt_rectappendoldcrtrightright * S ((S (jt_index_rectappendoldcrtright)) * jt_e_rectappendold) + (jt_right_rectappendoldcrtright))) -> (exists jt_left_rectappendoldcrtrightmod jt_right_rectappendoldcrtrightmod. (jt_left_rectappendoldcrtright)+(n)*jt_left_rectappendoldcrtrightmod=(jt_right_rectappendoldcrtright)+(n)*jt_right_rectappendoldcrtrightmod)))))) /\ (forall jt_divisor_rectappendoldprimitive. (exists jt_factor_rectappendoldprimitivemodulus. (m*n)=(jt_divisor_rectappendoldprimitive)*jt_factor_rectappendoldprimitivemodulus) -> (forall jt_index_rectappendoldprimitivecoordinates jt_value_rectappendoldprimitivecoordinates. (exists jt_gap_rectappendoldprimitivecoordinatesindex. jt_gap_rectappendoldprimitivecoordinatesindex+S (jt_index_rectappendoldprimitivecoordinates)=(k)) -> (((exists fs_h_jt_rectappendoldprimitivecoordinatesat. fs_h_jt_rectappendoldprimitivecoordinatesat + S (jt_value_rectappendoldprimitivecoordinates) = S ((S (jt_index_rectappendoldprimitivecoordinates)) * jt_g_rectappendold)) /\ exists fs_q_jt_rectappendoldprimitivecoordinatesat. jt_f_rectappendold = fs_q_jt_rectappendoldprimitivecoordinatesat * S ((S (jt_index_rectappendoldprimitivecoordinates)) * jt_g_rectappendold) + (jt_value_rectappendoldprimitivecoordinates))) -> (exists jt_factor_rectappendoldprimitivecoordinatesdivides. (jt_value_rectappendoldprimitivecoordinates)=(jt_divisor_rectappendoldprimitive)*jt_factor_rectappendoldprimitivecoordinatesdivides)) -> jt_divisor_rectappendoldprimitive=1))))))))))))))) -> (exists jt_gap_rectappendbound. jt_gap_rectappendbound+S (q)=(u*v)) -> exists U V W X. forall jt_index_rectappendnew. (exists jt_gap_rectappendnewindex. jt_gap_rectappendnewindex+S (jt_index_rectappendnew)=(S q)) -> exists jt_row_rectappendnew jt_column_rectappendnew jt_b_rectappendnew jt_c_rectappendnew jt_d_rectappendnew jt_e_rectappendnew jt_f_rectappendnew jt_g_rectappendnew. ((exists jt_gap_rectappendnewrow. jt_gap_rectappendnewrow+S (jt_row_rectappendnew)=(u)) /\ (((exists jt_gap_rectappendnewcolumn. jt_gap_rectappendnewcolumn+S (jt_column_rectappendnew)=(v)) /\ (((jt_index_rectappendnew=(v)*jt_row_rectappendnew+jt_column_rectappendnew) /\ (((((((exists fs_h_jt_rectappendnewleftcode. fs_h_jt_rectappendnewleftcode + S (jt_b_rectappendnew) = S ((S (jt_row_rectappendnew)) * B)) /\ exists fs_q_jt_rectappendnewleftcode. A = fs_q_jt_rectappendnewleftcode * S ((S (jt_row_rectappendnew)) * B) + (jt_b_rectappendnew))) /\ (((exists fs_h_jt_rectappendnewleftscale. fs_h_jt_rectappendnewleftscale + S (jt_c_rectappendnew) = S ((S (jt_row_rectappendnew)) * D)) /\ exists fs_q_jt_rectappendnewleftscale. C = fs_q_jt_rectappendnewleftscale * S ((S (jt_row_rectappendnew)) * D) + (jt_c_rectappendnew))))) /\ (((((((exists fs_h_jt_rectappendnewrightcode. fs_h_jt_rectappendnewrightcode + S (jt_d_rectappendnew) = S ((S (jt_column_rectappendnew)) * F)) /\ exists fs_q_jt_rectappendnewrightcode. E = fs_q_jt_rectappendnewrightcode * S ((S (jt_column_rectappendnew)) * F) + (jt_d_rectappendnew))) /\ (((exists fs_h_jt_rectappendnewrightscale. fs_h_jt_rectappendnewrightscale + S (jt_e_rectappendnew) = S ((S (jt_column_rectappendnew)) * H)) /\ exists fs_q_jt_rectappendnewrightscale. G = fs_q_jt_rectappendnewrightscale * S ((S (jt_column_rectappendnew)) * H) + (jt_e_rectappendnew))))) /\ (((((((exists fs_h_jt_rectappendnewoutputcode. fs_h_jt_rectappendnewoutputcode + S (jt_f_rectappendnew) = S ((S (jt_index_rectappendnew)) * V)) /\ exists fs_q_jt_rectappendnewoutputcode. U = fs_q_jt_rectappendnewoutputcode * S ((S (jt_index_rectappendnew)) * V) + (jt_f_rectappendnew))) /\ (((exists fs_h_jt_rectappendnewoutputscale. fs_h_jt_rectappendnewoutputscale + S (jt_g_rectappendnew) = S ((S (jt_index_rectappendnew)) * X)) /\ exists fs_q_jt_rectappendnewoutputscale. W = fs_q_jt_rectappendnewoutputscale * S ((S (jt_index_rectappendnew)) * X) + (jt_g_rectappendnew))))) /\ (((((forall jt_index_rectappendnewcrtbound. (exists jt_gap_rectappendnewcrtboundindex. jt_gap_rectappendnewcrtboundindex+S (jt_index_rectappendnewcrtbound)=(k)) -> exists jt_value_rectappendnewcrtbound. ((((exists fs_h_jt_rectappendnewcrtboundat. fs_h_jt_rectappendnewcrtboundat + S (jt_value_rectappendnewcrtbound) = S ((S (jt_index_rectappendnewcrtbound)) * jt_g_rectappendnew)) /\ exists fs_q_jt_rectappendnewcrtboundat. jt_f_rectappendnew = fs_q_jt_rectappendnewcrtboundat * S ((S (jt_index_rectappendnewcrtbound)) * jt_g_rectappendnew) + (jt_value_rectappendnewcrtbound))) /\ (exists jt_gap_rectappendnewcrtboundvalue. jt_gap_rectappendnewcrtboundvalue+S (jt_value_rectappendnewcrtbound)=(m*n)))) /\ (((forall jt_index_rectappendnewcrtleft jt_left_rectappendnewcrtleft jt_right_rectappendnewcrtleft. (exists jt_gap_rectappendnewcrtleftindex. jt_gap_rectappendnewcrtleftindex+S (jt_index_rectappendnewcrtleft)=(k)) -> (((exists fs_h_jt_rectappendnewcrtleftleft. fs_h_jt_rectappendnewcrtleftleft + S (jt_left_rectappendnewcrtleft) = S ((S (jt_index_rectappendnewcrtleft)) * jt_g_rectappendnew)) /\ exists fs_q_jt_rectappendnewcrtleftleft. jt_f_rectappendnew = fs_q_jt_rectappendnewcrtleftleft * S ((S (jt_index_rectappendnewcrtleft)) * jt_g_rectappendnew) + (jt_left_rectappendnewcrtleft))) -> (((exists fs_h_jt_rectappendnewcrtleftright. fs_h_jt_rectappendnewcrtleftright + S (jt_right_rectappendnewcrtleft) = S ((S (jt_index_rectappendnewcrtleft)) * jt_c_rectappendnew)) /\ exists fs_q_jt_rectappendnewcrtleftright. jt_b_rectappendnew = fs_q_jt_rectappendnewcrtleftright * S ((S (jt_index_rectappendnewcrtleft)) * jt_c_rectappendnew) + (jt_right_rectappendnewcrtleft))) -> (exists jt_left_rectappendnewcrtleftmod jt_right_rectappendnewcrtleftmod. (jt_left_rectappendnewcrtleft)+(m)*jt_left_rectappendnewcrtleftmod=(jt_right_rectappendnewcrtleft)+(m)*jt_right_rectappendnewcrtleftmod)) /\ (forall jt_index_rectappendnewcrtright jt_left_rectappendnewcrtright jt_right_rectappendnewcrtright. (exists jt_gap_rectappendnewcrtrightindex. jt_gap_rectappendnewcrtrightindex+S (jt_index_rectappendnewcrtright)=(k)) -> (((exists fs_h_jt_rectappendnewcrtrightleft. fs_h_jt_rectappendnewcrtrightleft + S (jt_left_rectappendnewcrtright) = S ((S (jt_index_rectappendnewcrtright)) * jt_g_rectappendnew)) /\ exists fs_q_jt_rectappendnewcrtrightleft. jt_f_rectappendnew = fs_q_jt_rectappendnewcrtrightleft * S ((S (jt_index_rectappendnewcrtright)) * jt_g_rectappendnew) + (jt_left_rectappendnewcrtright))) -> (((exists fs_h_jt_rectappendnewcrtrightright. fs_h_jt_rectappendnewcrtrightright + S (jt_right_rectappendnewcrtright) = S ((S (jt_index_rectappendnewcrtright)) * jt_e_rectappendnew)) /\ exists fs_q_jt_rectappendnewcrtrightright. jt_d_rectappendnew = fs_q_jt_rectappendnewcrtrightright * S ((S (jt_index_rectappendnewcrtright)) * jt_e_rectappendnew) + (jt_right_rectappendnewcrtright))) -> (exists jt_left_rectappendnewcrtrightmod jt_right_rectappendnewcrtrightmod. (jt_left_rectappendnewcrtright)+(n)*jt_left_rectappendnewcrtrightmod=(jt_right_rectappendnewcrtright)+(n)*jt_right_rectappendnewcrtrightmod)))))) /\ (forall jt_divisor_rectappendnewprimitive. (exists jt_factor_rectappendnewprimitivemodulus. (m*n)=(jt_divisor_rectappendnewprimitive)*jt_factor_rectappendnewprimitivemodulus) -> (forall jt_index_rectappendnewprimitivecoordinates jt_value_rectappendnewprimitivecoordinates. (exists jt_gap_rectappendnewprimitivecoordinatesindex. jt_gap_rectappendnewprimitivecoordinatesindex+S (jt_index_rectappendnewprimitivecoordinates)=(k)) -> (((exists fs_h_jt_rectappendnewprimitivecoordinatesat. fs_h_jt_rectappendnewprimitivecoordinatesat + S (jt_value_rectappendnewprimitivecoordinates) = S ((S (jt_index_rectappendnewprimitivecoordinates)) * jt_g_rectappendnew)) /\ exists fs_q_jt_rectappendnewprimitivecoordinatesat. jt_f_rectappendnew = fs_q_jt_rectappendnewprimitivecoordinatesat * S ((S (jt_index_rectappendnewprimitivecoordinates)) * jt_g_rectappendnew) + (jt_value_rectappendnewprimitivecoordinates))) -> (exists jt_factor_rectappendnewprimitivecoordinatesdivides. (jt_value_rectappendnewprimitivecoordinates)=(jt_divisor_rectappendnewprimitive)*jt_factor_rectappendnewprimitivecoordinatesdivides)) -> jt_divisor_rectappendnewprimitive=1))))))))))))))Constructive proof overview
Generated structural guide
At the next flat index, construct the actual primitive CRT tuple and append its code and scale to fresh beta lists.
The unchanged tactic script uses 7 declared prerequisites and contains 217 exact native proof lines.
Alpha v35 checked-use · first admitted v35 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
JT0034 jordan_rectangle_width_nonzero division_remainder_exists Alpha theorem; checked-use authorized JT0035 jordan_rectangle_quotient_bound JT0033 jordan_primitive_crt_tuple_exists JT0021 jordan_tuple_outer_append_exists finite_lt_succ_eq_or_lt Alpha theorem; checked-use authorized JT001F jordan_tuple_equal_entryDirect 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 (5)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–20
03Fix variables and assumptionsL21–25
04Establish hvL26–33
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply jordan rectangle width nonzero.
05Establish hcoordsL34–38
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply division remainder exists.
06Separate the logical casesL39–41
07Establish hrowL42–51
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply jordan rectangle quotient bound.
- L42
have hrow : exists jt_gap_rectrow. jt_gap_rectrow+S (x)=(u) - L43
specialize jordan_rectangle_quotient_bound (u) - L44
specialize jordan_rectangle_quotient_bound (v) - L45
specialize jordan_rectangle_quotient_bound (q) - L46
specialize jordan_rectangle_quotient_bound (x) - L47
specialize jordan_rectangle_quotient_bound (x1) - L48
apply jordan_rectangle_quotient_bound - L49
exact hq - L50
exact hcoords_witness_witness_left - L51
exact hcoords_witness_witness_right
08Establish hlsoundL52–52
Establish this local claim before using it. It is not an additional assumption.
- L52
have hlsound : ∀ i. Lt(i,u) → ∃ x. ∃ y. BetaAt(A,B,i,x) ∧ BetaAt(C,D,i,y) ∧ (BetaPrefixInto(x,y,k,m) ∧ JordanPrimitiveTuple(m,x,y,k))Definitions: BetaPrefixIntoJordanPrimitiveTupleLtBetaAt
09Establish hcopyL53–54
Establish this local claim before using it. It is not an additional assumption.
- L53
have hcopy : JordanTupleEnumeration(k,m,A,B,C,D,u)Definitions: JordanTupleEnumeration - L54
exact hleft
10Separate the logical casesL55–55
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L55
cases hcopy
11Use earlier factsL56–56
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L56
exact hcopy_left
12Establish hlL57–60
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hlsound.
- L57
have hl : ∃ b. ∃ c. BetaAt(A,B,x,b) ∧ BetaAt(C,D,x,c) ∧ (BetaPrefixInto(b,c,k,m) ∧ JordanPrimitiveTuple(m,b,c,k))Definitions: BetaPrefixIntoJordanPrimitiveTupleBetaAt - L58
specialize hlsound (x) - L59
apply hlsound - L60
exact hrow
13Separate the logical casesL61–64
14Establish hrsoundL65–65
Establish this local claim before using it. It is not an additional assumption.
- L65
have hrsound : ∀ i. Lt(i,v) → ∃ x. ∃ y. BetaAt(E,F,i,x) ∧ BetaAt(G,H,i,y) ∧ (BetaPrefixInto(x,y,k,n) ∧ JordanPrimitiveTuple(n,x,y,k))Definitions: BetaPrefixIntoJordanPrimitiveTupleLtBetaAt
15Establish hcopyL66–67
Establish this local claim before using it. It is not an additional assumption.
- L66
have hcopy : JordanTupleEnumeration(k,n,E,F,G,H,v)Definitions: JordanTupleEnumeration - L67
exact hright
16Separate the logical casesL68–68
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L68
cases hcopy
17Use earlier factsL69–69
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L69
exact hcopy_left
18Establish hrL70–73
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hrsound.
- L70
have hr : ∃ b. ∃ c. BetaAt(E,F,x1,b) ∧ BetaAt(G,H,x1,c) ∧ (BetaPrefixInto(b,c,k,n) ∧ JordanPrimitiveTuple(n,b,c,k))Definitions: BetaPrefixIntoJordanPrimitiveTupleBetaAt - L71
specialize hrsound (x1) - L72
apply hrsound - L73
exact hcoords_witness_witness_right
19Separate the logical casesL74–77
20Establish hcL78–87
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply jordan primitive crt tuple exists.
- L78
have hc : ∃ f. ∃ g. JordanCanonicalTupleCRT(m,n,x2,x3,x4,x5,f,g,k) ∧ JordanPrimitiveTuple(m · n,f,g,k)Definitions: JordanPrimitiveTupleJordanCanonicalTupleCRT - L79
specialize jordan_primitive_crt_tuple_exists (m) - L80
specialize jordan_primitive_crt_tuple_exists (n) - L81
specialize jordan_primitive_crt_tuple_exists (x2) - L82
specialize jordan_primitive_crt_tuple_exists (x3) - L83
specialize jordan_primitive_crt_tuple_exists (x4) - L84
specialize jordan_primitive_crt_tuple_exists (x5) - L85
specialize jordan_primitive_crt_tuple_exists (k) - L86
apply jordan_primitive_crt_tuple_exists - L87
exact hm
21Use earlier factsL88–91
22Separate the logical casesL92–94
23Establish hextL95–103
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply jordan tuple outer append exists.
- L95
have hext : ∃ U. ∃ V. ∃ W. ∃ X. IntegerVectorZero(P,Q,U,V,q) ∧ (IntegerVectorZero(R,T,W,X,q) ∧ (BetaAt(U,V,q,x6) ∧ BetaAt(W,X,q,x7)))Definitions: IntegerVectorZeroBetaAt - L96
specialize jordan_tuple_outer_append_exists (P) - L97
specialize jordan_tuple_outer_append_exists (Q) - L98
specialize jordan_tuple_outer_append_exists (R) - L99
specialize jordan_tuple_outer_append_exists (T) - L100
specialize jordan_tuple_outer_append_exists (q) - L101
specialize jordan_tuple_outer_append_exists (x6) - L102
specialize jordan_tuple_outer_append_exists (x7) - L103
apply jordan_tuple_outer_append_exists
24Separate the logical casesL104–110
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
25Construct an explicit witnessL111–114
26Fix variables and assumptionsL115–116
27Establish hpcL117–121
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply finite lt succ eq or lt.
28Separate the logical casesL122–122
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L122
cases hpc
29Construct an explicit witnessL123–130
30Separate the logical casesL131–131
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L131
split
31Use earlier factsL132–132
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L132
exact hrow
32Separate the logical casesL133–133
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L133
split
33Use earlier factsL134–134
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L134
exact hcoords_witness_witness_right
34Separate the logical casesL135–135
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L135
split
35Calculate and transport equalitiesL136–136
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L136
rewrite hpc_left
36Use earlier factsL137–137
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L137
exact hcoords_witness_witness_left
37Separate the logical casesL138–138
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L138
split
38Use earlier factsL139–139
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L139
exact hl_witness_witness_left
39Separate the logical casesL140–140
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L140
split
40Use earlier factsL141–141
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L141
exact hr_witness_witness_left
41Separate the logical casesL142–143
42Calculate and transport equalitiesL144–145
43Use earlier factsL146–146
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L146
exact hext_witness_witness_witness_witness_right_right_left
44Calculate and transport equalitiesL147–148
45Use earlier factsL149–149
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L149
exact hext_witness_witness_witness_witness_right_right_right
46Separate the logical casesL150–150
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L150
split
47Use earlier factsL151–152
48Establish hprevL153–156
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hold.
- L153
have hprev : ∃ i. ∃ j. ∃ b. ∃ c. ∃ d. ∃ e. ∃ f. ∃ g. Lt(i,u) ∧ (Lt(j,v) ∧ (p = v · i + j ∧ (BetaAt(A,B,i,b) ∧ BetaAt(C,D,i,c) ∧ (BetaAt(E,F,j,d) ∧ BetaAt(G,H,j,e) ∧ (BetaAt(P,Q,p,f) ∧ BetaAt(R,T,p,g) ∧ (JordanCanonicalTupleCRT(m,n,b,c,d,e,f,g,k) ∧ JordanPrimitiveTuple(m · n,f,g,k)))))))Definitions: JordanPrimitiveTupleJordanCanonicalTupleCRTLtBetaAt - L154
specialize hold (p) - L155
apply hold - L156
exact hpc_right
49Separate the logical casesL157–166
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L157
cases hprev - L158
cases hprev_witness - L159
cases hprev_witness_witness - L160
cases hprev_witness_witness_witness - L161
cases hprev_witness_witness_witness_witness - L162
cases hprev_witness_witness_witness_witness_witness - L163
cases hprev_witness_witness_witness_witness_witness_witness - L164
cases hprev_witness_witness_witness_witness_witness_witness_witness - L165
cases hprev_witness_witness_witness_witness_witness_witness_witness_witness - L166
cases hprev_witness_witness_witness_witness_witness_witness_witness_witness_right
50Separate the logical casesL167–172
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L167
cases hprev_witness_witness_witness_witness_witness_witness_witness_witness_right_right - L168
cases hprev_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right - L169
cases hprev_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right - L170
cases hprev_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_right - L171
cases hprev_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_right_right - L172
cases hprev_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_right_left
51Construct an explicit witnessL173–180
52Separate the logical casesL181–181
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L181
split
53Use earlier factsL182–182
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L182
exact hprev_witness_witness_witness_witness_witness_witness_witness_witness_left
54Separate the logical casesL183–183
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L183
split
55Use earlier factsL184–184
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L184
exact hprev_witness_witness_witness_witness_witness_witness_witness_witness_right_left
56Separate the logical casesL185–185
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L185
split
57Use earlier factsL186–186
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L186
exact hprev_witness_witness_witness_witness_witness_witness_witness_witness_right_right_left
58Separate the logical casesL187–187
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L187
split
59Use earlier factsL188–188
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L188
exact hprev_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_left
60Separate the logical casesL189–189
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L189
split
61Use earlier factsL190–190
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L190
exact hprev_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_left
62Separate the logical casesL191–192
63Use earlier factsL193–202
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L193
specialize jordan_tuple_equal_entry (P) - L194
specialize jordan_tuple_equal_entry (Q) - L195
specialize jordan_tuple_equal_entry (x8) - L196
specialize jordan_tuple_equal_entry (x9) - L197
specialize jordan_tuple_equal_entry (q) - L198
specialize jordan_tuple_equal_entry (p) - L199
specialize jordan_tuple_equal_entry (x18) - L200
apply jordan_tuple_equal_entry - L201
exact hext_witness_witness_witness_witness_left - L202
exact hpc_right
64Use earlier factsL203–212
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L203
exact hprev_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_right_left_left - L204
specialize jordan_tuple_equal_entry (R) - L205
specialize jordan_tuple_equal_entry (T) - L206
specialize jordan_tuple_equal_entry (x10) - L207
specialize jordan_tuple_equal_entry (x11) - L208
specialize jordan_tuple_equal_entry (q) - L209
specialize jordan_tuple_equal_entry (p) - L210
specialize jordan_tuple_equal_entry (x19) - L211
apply jordan_tuple_equal_entry - L212
exact hext_witness_witness_witness_witness_right_left
65Use earlier factsL213–214
66Separate the logical casesL215–215
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L215
split
67Use earlier factsL216–217
Instantiate or apply named facts and discharge the corresponding proof obligations.
Original exact command ledger · 217 lines
- 0001
intro m - 0002
intro n - 0003
intro k - 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 P - 0015
intro Q - 0016
intro R - 0017
intro T - 0018
intro q - 0019
intro hm - 0020
intro hn - 0021
intro hcop - 0022
intro hleft - 0023
intro hright - 0024
intro hold - 0025
intro hq - 0026
have hv : ~(v=0) - 0027
intro hvzero - 0028
specialize jordan_rectangle_width_nonzero (u) - 0029
specialize jordan_rectangle_width_nonzero (v) - 0030
specialize jordan_rectangle_width_nonzero (q) - 0031
apply jordan_rectangle_width_nonzero - 0032
exact hq - 0033
exact hvzero - 0034
have hcoords : exists i j. ((q=v*i+j) /\ (exists jt_gap_rectcolumn. jt_gap_rectcolumn+S (j)=(v))) - 0035
specialize division_remainder_exists (v) - 0036
specialize division_remainder_exists (q) - 0037
apply division_remainder_exists - 0038
exact hv - 0039
cases hcoords - 0040
cases hcoords_witness - 0041
cases hcoords_witness_witness - 0042
have hrow : exists jt_gap_rectrow. jt_gap_rectrow+S (x)=(u) - 0043
specialize jordan_rectangle_quotient_bound (u) - 0044
specialize jordan_rectangle_quotient_bound (v) - 0045
specialize jordan_rectangle_quotient_bound (q) - 0046
specialize jordan_rectangle_quotient_bound (x) - 0047
specialize jordan_rectangle_quotient_bound (x1) - 0048
apply jordan_rectangle_quotient_bound - 0049
exact hq - 0050
exact hcoords_witness_witness_left - 0051
exact hcoords_witness_witness_right - 0052
have hlsound : forall i. (exists jt_gap_hlsoundindex. jt_gap_hlsoundindex+S (i)=(u)) -> exists b c. ((((((exists fs_h_jt_hlsoundentrycode. fs_h_jt_hlsoundentrycode + S (b) = S ((S (i)) * B)) /\ exists fs_q_jt_hlsoundentrycode. A = fs_q_jt_hlsoundentrycode * S ((S (i)) * B) + (b))) /\ (((exists fs_h_jt_hlsoundentryscale. fs_h_jt_hlsoundentryscale + S (c) = S ((S (i)) * D)) /\ exists fs_q_jt_hlsoundentryscale. C = fs_q_jt_hlsoundentryscale * S ((S (i)) * D) + (c))))) /\ (((forall jt_index_hlsoundbound. (exists jt_gap_hlsoundboundindex. jt_gap_hlsoundboundindex+S (jt_index_hlsoundbound)=(k)) -> exists jt_value_hlsoundbound. ((((exists fs_h_jt_hlsoundboundat. fs_h_jt_hlsoundboundat + S (jt_value_hlsoundbound) = S ((S (jt_index_hlsoundbound)) * c)) /\ exists fs_q_jt_hlsoundboundat. b = fs_q_jt_hlsoundboundat * S ((S (jt_index_hlsoundbound)) * c) + (jt_value_hlsoundbound))) /\ (exists jt_gap_hlsoundboundvalue. jt_gap_hlsoundboundvalue+S (jt_value_hlsoundbound)=(m)))) /\ (forall jt_divisor_hlsoundprimitive. (exists jt_factor_hlsoundprimitivemodulus. (m)=(jt_divisor_hlsoundprimitive)*jt_factor_hlsoundprimitivemodulus) -> (forall jt_index_hlsoundprimitivecoordinates jt_value_hlsoundprimitivecoordinates. (exists jt_gap_hlsoundprimitivecoordinatesindex. jt_gap_hlsoundprimitivecoordinatesindex+S (jt_index_hlsoundprimitivecoordinates)=(k)) -> (((exists fs_h_jt_hlsoundprimitivecoordinatesat. fs_h_jt_hlsoundprimitivecoordinatesat + S (jt_value_hlsoundprimitivecoordinates) = S ((S (jt_index_hlsoundprimitivecoordinates)) * c)) /\ exists fs_q_jt_hlsoundprimitivecoordinatesat. b = fs_q_jt_hlsoundprimitivecoordinatesat * S ((S (jt_index_hlsoundprimitivecoordinates)) * c) + (jt_value_hlsoundprimitivecoordinates))) -> (exists jt_factor_hlsoundprimitivecoordinatesdivides. (jt_value_hlsoundprimitivecoordinates)=(jt_divisor_hlsoundprimitive)*jt_factor_hlsoundprimitivecoordinatesdivides)) -> jt_divisor_hlsoundprimitive=1)))) - 0053
have hcopy : ((forall jt_i_hlenumcopy. (exists jt_gap_hlenumcopysoundindex. jt_gap_hlenumcopysoundindex+S (jt_i_hlenumcopy)=(u)) -> exists jt_b_hlenumcopy jt_c_hlenumcopy. ((((((exists fs_h_jt_hlenumcopysoundcode. fs_h_jt_hlenumcopysoundcode + S (jt_b_hlenumcopy) = S ((S (jt_i_hlenumcopy)) * B)) /\ exists fs_q_jt_hlenumcopysoundcode. A = fs_q_jt_hlenumcopysoundcode * S ((S (jt_i_hlenumcopy)) * B) + (jt_b_hlenumcopy))) /\ (((exists fs_h_jt_hlenumcopysoundscale. fs_h_jt_hlenumcopysoundscale + S (jt_c_hlenumcopy) = S ((S (jt_i_hlenumcopy)) * D)) /\ exists fs_q_jt_hlenumcopysoundscale. C = fs_q_jt_hlenumcopysoundscale * S ((S (jt_i_hlenumcopy)) * D) + (jt_c_hlenumcopy))))) /\ (((forall jt_index_hlenumcopybound. (exists jt_gap_hlenumcopyboundindex. jt_gap_hlenumcopyboundindex+S (jt_index_hlenumcopybound)=(k)) -> exists jt_value_hlenumcopybound. ((((exists fs_h_jt_hlenumcopyboundat. fs_h_jt_hlenumcopyboundat + S (jt_value_hlenumcopybound) = S ((S (jt_index_hlenumcopybound)) * jt_c_hlenumcopy)) /\ exists fs_q_jt_hlenumcopyboundat. jt_b_hlenumcopy = fs_q_jt_hlenumcopyboundat * S ((S (jt_index_hlenumcopybound)) * jt_c_hlenumcopy) + (jt_value_hlenumcopybound))) /\ (exists jt_gap_hlenumcopyboundvalue. jt_gap_hlenumcopyboundvalue+S (jt_value_hlenumcopybound)=(m)))) /\ (forall jt_divisor_hlenumcopyprimitive. (exists jt_factor_hlenumcopyprimitivemodulus. (m)=(jt_divisor_hlenumcopyprimitive)*jt_factor_hlenumcopyprimitivemodulus) -> (forall jt_index_hlenumcopyprimitivecoordinates jt_value_hlenumcopyprimitivecoordinates. (exists jt_gap_hlenumcopyprimitivecoordinatesindex. jt_gap_hlenumcopyprimitivecoordinatesindex+S (jt_index_hlenumcopyprimitivecoordinates)=(k)) -> (((exists fs_h_jt_hlenumcopyprimitivecoordinatesat. fs_h_jt_hlenumcopyprimitivecoordinatesat + S (jt_value_hlenumcopyprimitivecoordinates) = S ((S (jt_index_hlenumcopyprimitivecoordinates)) * jt_c_hlenumcopy)) /\ exists fs_q_jt_hlenumcopyprimitivecoordinatesat. jt_b_hlenumcopy = fs_q_jt_hlenumcopyprimitivecoordinatesat * S ((S (jt_index_hlenumcopyprimitivecoordinates)) * jt_c_hlenumcopy) + (jt_value_hlenumcopyprimitivecoordinates))) -> (exists jt_factor_hlenumcopyprimitivecoordinatesdivides. (jt_value_hlenumcopyprimitivecoordinates)=(jt_divisor_hlenumcopyprimitive)*jt_factor_hlenumcopyprimitivecoordinatesdivides)) -> jt_divisor_hlenumcopyprimitive=1))))) /\ (((forall jt_b_hlenumcopy jt_c_hlenumcopy. (forall jt_index_hlenumcopyinputbound. (exists jt_gap_hlenumcopyinputboundindex. jt_gap_hlenumcopyinputboundindex+S (jt_index_hlenumcopyinputbound)=(k)) -> exists jt_value_hlenumcopyinputbound. ((((exists fs_h_jt_hlenumcopyinputboundat. fs_h_jt_hlenumcopyinputboundat + S (jt_value_hlenumcopyinputbound) = S ((S (jt_index_hlenumcopyinputbound)) * jt_c_hlenumcopy)) /\ exists fs_q_jt_hlenumcopyinputboundat. jt_b_hlenumcopy = fs_q_jt_hlenumcopyinputboundat * S ((S (jt_index_hlenumcopyinputbound)) * jt_c_hlenumcopy) + (jt_value_hlenumcopyinputbound))) /\ (exists jt_gap_hlenumcopyinputboundvalue. jt_gap_hlenumcopyinputboundvalue+S (jt_value_hlenumcopyinputbound)=(m)))) -> (forall jt_divisor_hlenumcopyinputprimitive. (exists jt_factor_hlenumcopyinputprimitivemodulus. (m)=(jt_divisor_hlenumcopyinputprimitive)*jt_factor_hlenumcopyinputprimitivemodulus) -> (forall jt_index_hlenumcopyinputprimitivecoordinates jt_value_hlenumcopyinputprimitivecoordinates. (exists jt_gap_hlenumcopyinputprimitivecoordinatesindex. jt_gap_hlenumcopyinputprimitivecoordinatesindex+S (jt_index_hlenumcopyinputprimitivecoordinates)=(k)) -> (((exists fs_h_jt_hlenumcopyinputprimitivecoordinatesat. fs_h_jt_hlenumcopyinputprimitivecoordinatesat + S (jt_value_hlenumcopyinputprimitivecoordinates) = S ((S (jt_index_hlenumcopyinputprimitivecoordinates)) * jt_c_hlenumcopy)) /\ exists fs_q_jt_hlenumcopyinputprimitivecoordinatesat. jt_b_hlenumcopy = fs_q_jt_hlenumcopyinputprimitivecoordinatesat * S ((S (jt_index_hlenumcopyinputprimitivecoordinates)) * jt_c_hlenumcopy) + (jt_value_hlenumcopyinputprimitivecoordinates))) -> (exists jt_factor_hlenumcopyinputprimitivecoordinatesdivides. (jt_value_hlenumcopyinputprimitivecoordinates)=(jt_divisor_hlenumcopyinputprimitive)*jt_factor_hlenumcopyinputprimitivecoordinatesdivides)) -> jt_divisor_hlenumcopyinputprimitive=1) -> exists jt_i_hlenumcopy jt_d_hlenumcopy jt_e_hlenumcopy. ((exists jt_gap_hlenumcopycompleteindex. jt_gap_hlenumcopycompleteindex+S (jt_i_hlenumcopy)=(u)) /\ (((((((exists fs_h_jt_hlenumcopycompletecode. fs_h_jt_hlenumcopycompletecode + S (jt_d_hlenumcopy) = S ((S (jt_i_hlenumcopy)) * B)) /\ exists fs_q_jt_hlenumcopycompletecode. A = fs_q_jt_hlenumcopycompletecode * S ((S (jt_i_hlenumcopy)) * B) + (jt_d_hlenumcopy))) /\ (((exists fs_h_jt_hlenumcopycompletescale. fs_h_jt_hlenumcopycompletescale + S (jt_e_hlenumcopy) = S ((S (jt_i_hlenumcopy)) * D)) /\ exists fs_q_jt_hlenumcopycompletescale. C = fs_q_jt_hlenumcopycompletescale * S ((S (jt_i_hlenumcopy)) * D) + (jt_e_hlenumcopy))))) /\ (forall jt_index_hlenumcopyrepresented jt_left_hlenumcopyrepresented jt_right_hlenumcopyrepresented. (exists jt_gap_hlenumcopyrepresentedindex. jt_gap_hlenumcopyrepresentedindex+S (jt_index_hlenumcopyrepresented)=(k)) -> (((exists fs_h_jt_hlenumcopyrepresentedleft. fs_h_jt_hlenumcopyrepresentedleft + S (jt_left_hlenumcopyrepresented) = S ((S (jt_index_hlenumcopyrepresented)) * jt_c_hlenumcopy)) /\ exists fs_q_jt_hlenumcopyrepresentedleft. jt_b_hlenumcopy = fs_q_jt_hlenumcopyrepresentedleft * S ((S (jt_index_hlenumcopyrepresented)) * jt_c_hlenumcopy) + (jt_left_hlenumcopyrepresented))) -> (((exists fs_h_jt_hlenumcopyrepresentedright. fs_h_jt_hlenumcopyrepresentedright + S (jt_right_hlenumcopyrepresented) = S ((S (jt_index_hlenumcopyrepresented)) * jt_e_hlenumcopy)) /\ exists fs_q_jt_hlenumcopyrepresentedright. jt_d_hlenumcopy = fs_q_jt_hlenumcopyrepresentedright * S ((S (jt_index_hlenumcopyrepresented)) * jt_e_hlenumcopy) + (jt_right_hlenumcopyrepresented))) -> jt_left_hlenumcopyrepresented=jt_right_hlenumcopyrepresented))))) /\ (forall jt_i_hlenumcopy jt_h_hlenumcopy jt_b_hlenumcopy jt_c_hlenumcopy jt_d_hlenumcopy jt_e_hlenumcopy. (exists jt_gap_hlenumcopyfirstindex. jt_gap_hlenumcopyfirstindex+S (jt_i_hlenumcopy)=(u)) -> (exists jt_gap_hlenumcopysecondindex. jt_gap_hlenumcopysecondindex+S (jt_h_hlenumcopy)=(u)) -> (((((exists fs_h_jt_hlenumcopyfirstcode. fs_h_jt_hlenumcopyfirstcode + S (jt_b_hlenumcopy) = S ((S (jt_i_hlenumcopy)) * B)) /\ exists fs_q_jt_hlenumcopyfirstcode. A = fs_q_jt_hlenumcopyfirstcode * S ((S (jt_i_hlenumcopy)) * B) + (jt_b_hlenumcopy))) /\ (((exists fs_h_jt_hlenumcopyfirstscale. fs_h_jt_hlenumcopyfirstscale + S (jt_c_hlenumcopy) = S ((S (jt_i_hlenumcopy)) * D)) /\ exists fs_q_jt_hlenumcopyfirstscale. C = fs_q_jt_hlenumcopyfirstscale * S ((S (jt_i_hlenumcopy)) * D) + (jt_c_hlenumcopy))))) -> (((((exists fs_h_jt_hlenumcopysecondcode. fs_h_jt_hlenumcopysecondcode + S (jt_d_hlenumcopy) = S ((S (jt_h_hlenumcopy)) * B)) /\ exists fs_q_jt_hlenumcopysecondcode. A = fs_q_jt_hlenumcopysecondcode * S ((S (jt_h_hlenumcopy)) * B) + (jt_d_hlenumcopy))) /\ (((exists fs_h_jt_hlenumcopysecondscale. fs_h_jt_hlenumcopysecondscale + S (jt_e_hlenumcopy) = S ((S (jt_h_hlenumcopy)) * D)) /\ exists fs_q_jt_hlenumcopysecondscale. C = fs_q_jt_hlenumcopysecondscale * S ((S (jt_h_hlenumcopy)) * D) + (jt_e_hlenumcopy))))) -> (forall jt_index_hlenumcopysame jt_left_hlenumcopysame jt_right_hlenumcopysame. (exists jt_gap_hlenumcopysameindex. jt_gap_hlenumcopysameindex+S (jt_index_hlenumcopysame)=(k)) -> (((exists fs_h_jt_hlenumcopysameleft. fs_h_jt_hlenumcopysameleft + S (jt_left_hlenumcopysame) = S ((S (jt_index_hlenumcopysame)) * jt_c_hlenumcopy)) /\ exists fs_q_jt_hlenumcopysameleft. jt_b_hlenumcopy = fs_q_jt_hlenumcopysameleft * S ((S (jt_index_hlenumcopysame)) * jt_c_hlenumcopy) + (jt_left_hlenumcopysame))) -> (((exists fs_h_jt_hlenumcopysameright. fs_h_jt_hlenumcopysameright + S (jt_right_hlenumcopysame) = S ((S (jt_index_hlenumcopysame)) * jt_e_hlenumcopy)) /\ exists fs_q_jt_hlenumcopysameright. jt_d_hlenumcopy = fs_q_jt_hlenumcopysameright * S ((S (jt_index_hlenumcopysame)) * jt_e_hlenumcopy) + (jt_right_hlenumcopysame))) -> jt_left_hlenumcopysame=jt_right_hlenumcopysame) -> jt_i_hlenumcopy=jt_h_hlenumcopy)))) - 0054
exact hleft - 0055
cases hcopy - 0056
exact hcopy_left - 0057
have hl : exists b c. ((((((exists fs_h_jt_hlentrycode. fs_h_jt_hlentrycode + S (b) = S ((S (x)) * B)) /\ exists fs_q_jt_hlentrycode. A = fs_q_jt_hlentrycode * S ((S (x)) * B) + (b))) /\ (((exists fs_h_jt_hlentryscale. fs_h_jt_hlentryscale + S (c) = S ((S (x)) * D)) /\ exists fs_q_jt_hlentryscale. C = fs_q_jt_hlentryscale * S ((S (x)) * D) + (c))))) /\ (((forall jt_index_hlbound. (exists jt_gap_hlboundindex. jt_gap_hlboundindex+S (jt_index_hlbound)=(k)) -> exists jt_value_hlbound. ((((exists fs_h_jt_hlboundat. fs_h_jt_hlboundat + S (jt_value_hlbound) = S ((S (jt_index_hlbound)) * c)) /\ exists fs_q_jt_hlboundat. b = fs_q_jt_hlboundat * S ((S (jt_index_hlbound)) * c) + (jt_value_hlbound))) /\ (exists jt_gap_hlboundvalue. jt_gap_hlboundvalue+S (jt_value_hlbound)=(m)))) /\ (forall jt_divisor_hlprimitive. (exists jt_factor_hlprimitivemodulus. (m)=(jt_divisor_hlprimitive)*jt_factor_hlprimitivemodulus) -> (forall jt_index_hlprimitivecoordinates jt_value_hlprimitivecoordinates. (exists jt_gap_hlprimitivecoordinatesindex. jt_gap_hlprimitivecoordinatesindex+S (jt_index_hlprimitivecoordinates)=(k)) -> (((exists fs_h_jt_hlprimitivecoordinatesat. fs_h_jt_hlprimitivecoordinatesat + S (jt_value_hlprimitivecoordinates) = S ((S (jt_index_hlprimitivecoordinates)) * c)) /\ exists fs_q_jt_hlprimitivecoordinatesat. b = fs_q_jt_hlprimitivecoordinatesat * S ((S (jt_index_hlprimitivecoordinates)) * c) + (jt_value_hlprimitivecoordinates))) -> (exists jt_factor_hlprimitivecoordinatesdivides. (jt_value_hlprimitivecoordinates)=(jt_divisor_hlprimitive)*jt_factor_hlprimitivecoordinatesdivides)) -> jt_divisor_hlprimitive=1)))) - 0058
specialize hlsound (x) - 0059
apply hlsound - 0060
exact hrow - 0061
cases hl - 0062
cases hl_witness - 0063
cases hl_witness_witness - 0064
cases hl_witness_witness_right - 0065
have hrsound : forall i. (exists jt_gap_hrsoundindex. jt_gap_hrsoundindex+S (i)=(v)) -> exists b c. ((((((exists fs_h_jt_hrsoundentrycode. fs_h_jt_hrsoundentrycode + S (b) = S ((S (i)) * F)) /\ exists fs_q_jt_hrsoundentrycode. E = fs_q_jt_hrsoundentrycode * S ((S (i)) * F) + (b))) /\ (((exists fs_h_jt_hrsoundentryscale. fs_h_jt_hrsoundentryscale + S (c) = S ((S (i)) * H)) /\ exists fs_q_jt_hrsoundentryscale. G = fs_q_jt_hrsoundentryscale * S ((S (i)) * H) + (c))))) /\ (((forall jt_index_hrsoundbound. (exists jt_gap_hrsoundboundindex. jt_gap_hrsoundboundindex+S (jt_index_hrsoundbound)=(k)) -> exists jt_value_hrsoundbound. ((((exists fs_h_jt_hrsoundboundat. fs_h_jt_hrsoundboundat + S (jt_value_hrsoundbound) = S ((S (jt_index_hrsoundbound)) * c)) /\ exists fs_q_jt_hrsoundboundat. b = fs_q_jt_hrsoundboundat * S ((S (jt_index_hrsoundbound)) * c) + (jt_value_hrsoundbound))) /\ (exists jt_gap_hrsoundboundvalue. jt_gap_hrsoundboundvalue+S (jt_value_hrsoundbound)=(n)))) /\ (forall jt_divisor_hrsoundprimitive. (exists jt_factor_hrsoundprimitivemodulus. (n)=(jt_divisor_hrsoundprimitive)*jt_factor_hrsoundprimitivemodulus) -> (forall jt_index_hrsoundprimitivecoordinates jt_value_hrsoundprimitivecoordinates. (exists jt_gap_hrsoundprimitivecoordinatesindex. jt_gap_hrsoundprimitivecoordinatesindex+S (jt_index_hrsoundprimitivecoordinates)=(k)) -> (((exists fs_h_jt_hrsoundprimitivecoordinatesat. fs_h_jt_hrsoundprimitivecoordinatesat + S (jt_value_hrsoundprimitivecoordinates) = S ((S (jt_index_hrsoundprimitivecoordinates)) * c)) /\ exists fs_q_jt_hrsoundprimitivecoordinatesat. b = fs_q_jt_hrsoundprimitivecoordinatesat * S ((S (jt_index_hrsoundprimitivecoordinates)) * c) + (jt_value_hrsoundprimitivecoordinates))) -> (exists jt_factor_hrsoundprimitivecoordinatesdivides. (jt_value_hrsoundprimitivecoordinates)=(jt_divisor_hrsoundprimitive)*jt_factor_hrsoundprimitivecoordinatesdivides)) -> jt_divisor_hrsoundprimitive=1)))) - 0066
have hcopy : ((forall jt_i_hrenumcopy. (exists jt_gap_hrenumcopysoundindex. jt_gap_hrenumcopysoundindex+S (jt_i_hrenumcopy)=(v)) -> exists jt_b_hrenumcopy jt_c_hrenumcopy. ((((((exists fs_h_jt_hrenumcopysoundcode. fs_h_jt_hrenumcopysoundcode + S (jt_b_hrenumcopy) = S ((S (jt_i_hrenumcopy)) * F)) /\ exists fs_q_jt_hrenumcopysoundcode. E = fs_q_jt_hrenumcopysoundcode * S ((S (jt_i_hrenumcopy)) * F) + (jt_b_hrenumcopy))) /\ (((exists fs_h_jt_hrenumcopysoundscale. fs_h_jt_hrenumcopysoundscale + S (jt_c_hrenumcopy) = S ((S (jt_i_hrenumcopy)) * H)) /\ exists fs_q_jt_hrenumcopysoundscale. G = fs_q_jt_hrenumcopysoundscale * S ((S (jt_i_hrenumcopy)) * H) + (jt_c_hrenumcopy))))) /\ (((forall jt_index_hrenumcopybound. (exists jt_gap_hrenumcopyboundindex. jt_gap_hrenumcopyboundindex+S (jt_index_hrenumcopybound)=(k)) -> exists jt_value_hrenumcopybound. ((((exists fs_h_jt_hrenumcopyboundat. fs_h_jt_hrenumcopyboundat + S (jt_value_hrenumcopybound) = S ((S (jt_index_hrenumcopybound)) * jt_c_hrenumcopy)) /\ exists fs_q_jt_hrenumcopyboundat. jt_b_hrenumcopy = fs_q_jt_hrenumcopyboundat * S ((S (jt_index_hrenumcopybound)) * jt_c_hrenumcopy) + (jt_value_hrenumcopybound))) /\ (exists jt_gap_hrenumcopyboundvalue. jt_gap_hrenumcopyboundvalue+S (jt_value_hrenumcopybound)=(n)))) /\ (forall jt_divisor_hrenumcopyprimitive. (exists jt_factor_hrenumcopyprimitivemodulus. (n)=(jt_divisor_hrenumcopyprimitive)*jt_factor_hrenumcopyprimitivemodulus) -> (forall jt_index_hrenumcopyprimitivecoordinates jt_value_hrenumcopyprimitivecoordinates. (exists jt_gap_hrenumcopyprimitivecoordinatesindex. jt_gap_hrenumcopyprimitivecoordinatesindex+S (jt_index_hrenumcopyprimitivecoordinates)=(k)) -> (((exists fs_h_jt_hrenumcopyprimitivecoordinatesat. fs_h_jt_hrenumcopyprimitivecoordinatesat + S (jt_value_hrenumcopyprimitivecoordinates) = S ((S (jt_index_hrenumcopyprimitivecoordinates)) * jt_c_hrenumcopy)) /\ exists fs_q_jt_hrenumcopyprimitivecoordinatesat. jt_b_hrenumcopy = fs_q_jt_hrenumcopyprimitivecoordinatesat * S ((S (jt_index_hrenumcopyprimitivecoordinates)) * jt_c_hrenumcopy) + (jt_value_hrenumcopyprimitivecoordinates))) -> (exists jt_factor_hrenumcopyprimitivecoordinatesdivides. (jt_value_hrenumcopyprimitivecoordinates)=(jt_divisor_hrenumcopyprimitive)*jt_factor_hrenumcopyprimitivecoordinatesdivides)) -> jt_divisor_hrenumcopyprimitive=1))))) /\ (((forall jt_b_hrenumcopy jt_c_hrenumcopy. (forall jt_index_hrenumcopyinputbound. (exists jt_gap_hrenumcopyinputboundindex. jt_gap_hrenumcopyinputboundindex+S (jt_index_hrenumcopyinputbound)=(k)) -> exists jt_value_hrenumcopyinputbound. ((((exists fs_h_jt_hrenumcopyinputboundat. fs_h_jt_hrenumcopyinputboundat + S (jt_value_hrenumcopyinputbound) = S ((S (jt_index_hrenumcopyinputbound)) * jt_c_hrenumcopy)) /\ exists fs_q_jt_hrenumcopyinputboundat. jt_b_hrenumcopy = fs_q_jt_hrenumcopyinputboundat * S ((S (jt_index_hrenumcopyinputbound)) * jt_c_hrenumcopy) + (jt_value_hrenumcopyinputbound))) /\ (exists jt_gap_hrenumcopyinputboundvalue. jt_gap_hrenumcopyinputboundvalue+S (jt_value_hrenumcopyinputbound)=(n)))) -> (forall jt_divisor_hrenumcopyinputprimitive. (exists jt_factor_hrenumcopyinputprimitivemodulus. (n)=(jt_divisor_hrenumcopyinputprimitive)*jt_factor_hrenumcopyinputprimitivemodulus) -> (forall jt_index_hrenumcopyinputprimitivecoordinates jt_value_hrenumcopyinputprimitivecoordinates. (exists jt_gap_hrenumcopyinputprimitivecoordinatesindex. jt_gap_hrenumcopyinputprimitivecoordinatesindex+S (jt_index_hrenumcopyinputprimitivecoordinates)=(k)) -> (((exists fs_h_jt_hrenumcopyinputprimitivecoordinatesat. fs_h_jt_hrenumcopyinputprimitivecoordinatesat + S (jt_value_hrenumcopyinputprimitivecoordinates) = S ((S (jt_index_hrenumcopyinputprimitivecoordinates)) * jt_c_hrenumcopy)) /\ exists fs_q_jt_hrenumcopyinputprimitivecoordinatesat. jt_b_hrenumcopy = fs_q_jt_hrenumcopyinputprimitivecoordinatesat * S ((S (jt_index_hrenumcopyinputprimitivecoordinates)) * jt_c_hrenumcopy) + (jt_value_hrenumcopyinputprimitivecoordinates))) -> (exists jt_factor_hrenumcopyinputprimitivecoordinatesdivides. (jt_value_hrenumcopyinputprimitivecoordinates)=(jt_divisor_hrenumcopyinputprimitive)*jt_factor_hrenumcopyinputprimitivecoordinatesdivides)) -> jt_divisor_hrenumcopyinputprimitive=1) -> exists jt_i_hrenumcopy jt_d_hrenumcopy jt_e_hrenumcopy. ((exists jt_gap_hrenumcopycompleteindex. jt_gap_hrenumcopycompleteindex+S (jt_i_hrenumcopy)=(v)) /\ (((((((exists fs_h_jt_hrenumcopycompletecode. fs_h_jt_hrenumcopycompletecode + S (jt_d_hrenumcopy) = S ((S (jt_i_hrenumcopy)) * F)) /\ exists fs_q_jt_hrenumcopycompletecode. E = fs_q_jt_hrenumcopycompletecode * S ((S (jt_i_hrenumcopy)) * F) + (jt_d_hrenumcopy))) /\ (((exists fs_h_jt_hrenumcopycompletescale. fs_h_jt_hrenumcopycompletescale + S (jt_e_hrenumcopy) = S ((S (jt_i_hrenumcopy)) * H)) /\ exists fs_q_jt_hrenumcopycompletescale. G = fs_q_jt_hrenumcopycompletescale * S ((S (jt_i_hrenumcopy)) * H) + (jt_e_hrenumcopy))))) /\ (forall jt_index_hrenumcopyrepresented jt_left_hrenumcopyrepresented jt_right_hrenumcopyrepresented. (exists jt_gap_hrenumcopyrepresentedindex. jt_gap_hrenumcopyrepresentedindex+S (jt_index_hrenumcopyrepresented)=(k)) -> (((exists fs_h_jt_hrenumcopyrepresentedleft. fs_h_jt_hrenumcopyrepresentedleft + S (jt_left_hrenumcopyrepresented) = S ((S (jt_index_hrenumcopyrepresented)) * jt_c_hrenumcopy)) /\ exists fs_q_jt_hrenumcopyrepresentedleft. jt_b_hrenumcopy = fs_q_jt_hrenumcopyrepresentedleft * S ((S (jt_index_hrenumcopyrepresented)) * jt_c_hrenumcopy) + (jt_left_hrenumcopyrepresented))) -> (((exists fs_h_jt_hrenumcopyrepresentedright. fs_h_jt_hrenumcopyrepresentedright + S (jt_right_hrenumcopyrepresented) = S ((S (jt_index_hrenumcopyrepresented)) * jt_e_hrenumcopy)) /\ exists fs_q_jt_hrenumcopyrepresentedright. jt_d_hrenumcopy = fs_q_jt_hrenumcopyrepresentedright * S ((S (jt_index_hrenumcopyrepresented)) * jt_e_hrenumcopy) + (jt_right_hrenumcopyrepresented))) -> jt_left_hrenumcopyrepresented=jt_right_hrenumcopyrepresented))))) /\ (forall jt_i_hrenumcopy jt_h_hrenumcopy jt_b_hrenumcopy jt_c_hrenumcopy jt_d_hrenumcopy jt_e_hrenumcopy. (exists jt_gap_hrenumcopyfirstindex. jt_gap_hrenumcopyfirstindex+S (jt_i_hrenumcopy)=(v)) -> (exists jt_gap_hrenumcopysecondindex. jt_gap_hrenumcopysecondindex+S (jt_h_hrenumcopy)=(v)) -> (((((exists fs_h_jt_hrenumcopyfirstcode. fs_h_jt_hrenumcopyfirstcode + S (jt_b_hrenumcopy) = S ((S (jt_i_hrenumcopy)) * F)) /\ exists fs_q_jt_hrenumcopyfirstcode. E = fs_q_jt_hrenumcopyfirstcode * S ((S (jt_i_hrenumcopy)) * F) + (jt_b_hrenumcopy))) /\ (((exists fs_h_jt_hrenumcopyfirstscale. fs_h_jt_hrenumcopyfirstscale + S (jt_c_hrenumcopy) = S ((S (jt_i_hrenumcopy)) * H)) /\ exists fs_q_jt_hrenumcopyfirstscale. G = fs_q_jt_hrenumcopyfirstscale * S ((S (jt_i_hrenumcopy)) * H) + (jt_c_hrenumcopy))))) -> (((((exists fs_h_jt_hrenumcopysecondcode. fs_h_jt_hrenumcopysecondcode + S (jt_d_hrenumcopy) = S ((S (jt_h_hrenumcopy)) * F)) /\ exists fs_q_jt_hrenumcopysecondcode. E = fs_q_jt_hrenumcopysecondcode * S ((S (jt_h_hrenumcopy)) * F) + (jt_d_hrenumcopy))) /\ (((exists fs_h_jt_hrenumcopysecondscale. fs_h_jt_hrenumcopysecondscale + S (jt_e_hrenumcopy) = S ((S (jt_h_hrenumcopy)) * H)) /\ exists fs_q_jt_hrenumcopysecondscale. G = fs_q_jt_hrenumcopysecondscale * S ((S (jt_h_hrenumcopy)) * H) + (jt_e_hrenumcopy))))) -> (forall jt_index_hrenumcopysame jt_left_hrenumcopysame jt_right_hrenumcopysame. (exists jt_gap_hrenumcopysameindex. jt_gap_hrenumcopysameindex+S (jt_index_hrenumcopysame)=(k)) -> (((exists fs_h_jt_hrenumcopysameleft. fs_h_jt_hrenumcopysameleft + S (jt_left_hrenumcopysame) = S ((S (jt_index_hrenumcopysame)) * jt_c_hrenumcopy)) /\ exists fs_q_jt_hrenumcopysameleft. jt_b_hrenumcopy = fs_q_jt_hrenumcopysameleft * S ((S (jt_index_hrenumcopysame)) * jt_c_hrenumcopy) + (jt_left_hrenumcopysame))) -> (((exists fs_h_jt_hrenumcopysameright. fs_h_jt_hrenumcopysameright + S (jt_right_hrenumcopysame) = S ((S (jt_index_hrenumcopysame)) * jt_e_hrenumcopy)) /\ exists fs_q_jt_hrenumcopysameright. jt_d_hrenumcopy = fs_q_jt_hrenumcopysameright * S ((S (jt_index_hrenumcopysame)) * jt_e_hrenumcopy) + (jt_right_hrenumcopysame))) -> jt_left_hrenumcopysame=jt_right_hrenumcopysame) -> jt_i_hrenumcopy=jt_h_hrenumcopy)))) - 0067
exact hright - 0068
cases hcopy - 0069
exact hcopy_left - 0070
have hr : exists b c. ((((((exists fs_h_jt_hrentrycode. fs_h_jt_hrentrycode + S (b) = S ((S (x1)) * F)) /\ exists fs_q_jt_hrentrycode. E = fs_q_jt_hrentrycode * S ((S (x1)) * F) + (b))) /\ (((exists fs_h_jt_hrentryscale. fs_h_jt_hrentryscale + S (c) = S ((S (x1)) * H)) /\ exists fs_q_jt_hrentryscale. G = fs_q_jt_hrentryscale * S ((S (x1)) * H) + (c))))) /\ (((forall jt_index_hrbound. (exists jt_gap_hrboundindex. jt_gap_hrboundindex+S (jt_index_hrbound)=(k)) -> exists jt_value_hrbound. ((((exists fs_h_jt_hrboundat. fs_h_jt_hrboundat + S (jt_value_hrbound) = S ((S (jt_index_hrbound)) * c)) /\ exists fs_q_jt_hrboundat. b = fs_q_jt_hrboundat * S ((S (jt_index_hrbound)) * c) + (jt_value_hrbound))) /\ (exists jt_gap_hrboundvalue. jt_gap_hrboundvalue+S (jt_value_hrbound)=(n)))) /\ (forall jt_divisor_hrprimitive. (exists jt_factor_hrprimitivemodulus. (n)=(jt_divisor_hrprimitive)*jt_factor_hrprimitivemodulus) -> (forall jt_index_hrprimitivecoordinates jt_value_hrprimitivecoordinates. (exists jt_gap_hrprimitivecoordinatesindex. jt_gap_hrprimitivecoordinatesindex+S (jt_index_hrprimitivecoordinates)=(k)) -> (((exists fs_h_jt_hrprimitivecoordinatesat. fs_h_jt_hrprimitivecoordinatesat + S (jt_value_hrprimitivecoordinates) = S ((S (jt_index_hrprimitivecoordinates)) * c)) /\ exists fs_q_jt_hrprimitivecoordinatesat. b = fs_q_jt_hrprimitivecoordinatesat * S ((S (jt_index_hrprimitivecoordinates)) * c) + (jt_value_hrprimitivecoordinates))) -> (exists jt_factor_hrprimitivecoordinatesdivides. (jt_value_hrprimitivecoordinates)=(jt_divisor_hrprimitive)*jt_factor_hrprimitivecoordinatesdivides)) -> jt_divisor_hrprimitive=1)))) - 0071
specialize hrsound (x1) - 0072
apply hrsound - 0073
exact hcoords_witness_witness_right - 0074
cases hr - 0075
cases hr_witness - 0076
cases hr_witness_witness - 0077
cases hr_witness_witness_right - 0078
have hc : exists f g. ((((forall jt_index_rectchosencrtbound. (exists jt_gap_rectchosencrtboundindex. jt_gap_rectchosencrtboundindex+S (jt_index_rectchosencrtbound)=(k)) -> exists jt_value_rectchosencrtbound. ((((exists fs_h_jt_rectchosencrtboundat. fs_h_jt_rectchosencrtboundat + S (jt_value_rectchosencrtbound) = S ((S (jt_index_rectchosencrtbound)) * g)) /\ exists fs_q_jt_rectchosencrtboundat. f = fs_q_jt_rectchosencrtboundat * S ((S (jt_index_rectchosencrtbound)) * g) + (jt_value_rectchosencrtbound))) /\ (exists jt_gap_rectchosencrtboundvalue. jt_gap_rectchosencrtboundvalue+S (jt_value_rectchosencrtbound)=(m*n)))) /\ (((forall jt_index_rectchosencrtleft jt_left_rectchosencrtleft jt_right_rectchosencrtleft. (exists jt_gap_rectchosencrtleftindex. jt_gap_rectchosencrtleftindex+S (jt_index_rectchosencrtleft)=(k)) -> (((exists fs_h_jt_rectchosencrtleftleft. fs_h_jt_rectchosencrtleftleft + S (jt_left_rectchosencrtleft) = S ((S (jt_index_rectchosencrtleft)) * g)) /\ exists fs_q_jt_rectchosencrtleftleft. f = fs_q_jt_rectchosencrtleftleft * S ((S (jt_index_rectchosencrtleft)) * g) + (jt_left_rectchosencrtleft))) -> (((exists fs_h_jt_rectchosencrtleftright. fs_h_jt_rectchosencrtleftright + S (jt_right_rectchosencrtleft) = S ((S (jt_index_rectchosencrtleft)) * x3)) /\ exists fs_q_jt_rectchosencrtleftright. x2 = fs_q_jt_rectchosencrtleftright * S ((S (jt_index_rectchosencrtleft)) * x3) + (jt_right_rectchosencrtleft))) -> (exists jt_left_rectchosencrtleftmod jt_right_rectchosencrtleftmod. (jt_left_rectchosencrtleft)+(m)*jt_left_rectchosencrtleftmod=(jt_right_rectchosencrtleft)+(m)*jt_right_rectchosencrtleftmod)) /\ (forall jt_index_rectchosencrtright jt_left_rectchosencrtright jt_right_rectchosencrtright. (exists jt_gap_rectchosencrtrightindex. jt_gap_rectchosencrtrightindex+S (jt_index_rectchosencrtright)=(k)) -> (((exists fs_h_jt_rectchosencrtrightleft. fs_h_jt_rectchosencrtrightleft + S (jt_left_rectchosencrtright) = S ((S (jt_index_rectchosencrtright)) * g)) /\ exists fs_q_jt_rectchosencrtrightleft. f = fs_q_jt_rectchosencrtrightleft * S ((S (jt_index_rectchosencrtright)) * g) + (jt_left_rectchosencrtright))) -> (((exists fs_h_jt_rectchosencrtrightright. fs_h_jt_rectchosencrtrightright + S (jt_right_rectchosencrtright) = S ((S (jt_index_rectchosencrtright)) * x5)) /\ exists fs_q_jt_rectchosencrtrightright. x4 = fs_q_jt_rectchosencrtrightright * S ((S (jt_index_rectchosencrtright)) * x5) + (jt_right_rectchosencrtright))) -> (exists jt_left_rectchosencrtrightmod jt_right_rectchosencrtrightmod. (jt_left_rectchosencrtright)+(n)*jt_left_rectchosencrtrightmod=(jt_right_rectchosencrtright)+(n)*jt_right_rectchosencrtrightmod)))))) /\ (forall jt_divisor_rectchosenprimitive. (exists jt_factor_rectchosenprimitivemodulus. (m*n)=(jt_divisor_rectchosenprimitive)*jt_factor_rectchosenprimitivemodulus) -> (forall jt_index_rectchosenprimitivecoordinates jt_value_rectchosenprimitivecoordinates. (exists jt_gap_rectchosenprimitivecoordinatesindex. jt_gap_rectchosenprimitivecoordinatesindex+S (jt_index_rectchosenprimitivecoordinates)=(k)) -> (((exists fs_h_jt_rectchosenprimitivecoordinatesat. fs_h_jt_rectchosenprimitivecoordinatesat + S (jt_value_rectchosenprimitivecoordinates) = S ((S (jt_index_rectchosenprimitivecoordinates)) * g)) /\ exists fs_q_jt_rectchosenprimitivecoordinatesat. f = fs_q_jt_rectchosenprimitivecoordinatesat * S ((S (jt_index_rectchosenprimitivecoordinates)) * g) + (jt_value_rectchosenprimitivecoordinates))) -> (exists jt_factor_rectchosenprimitivecoordinatesdivides. (jt_value_rectchosenprimitivecoordinates)=(jt_divisor_rectchosenprimitive)*jt_factor_rectchosenprimitivecoordinatesdivides)) -> jt_divisor_rectchosenprimitive=1)) - 0079
specialize jordan_primitive_crt_tuple_exists (m) - 0080
specialize jordan_primitive_crt_tuple_exists (n) - 0081
specialize jordan_primitive_crt_tuple_exists (x2) - 0082
specialize jordan_primitive_crt_tuple_exists (x3) - 0083
specialize jordan_primitive_crt_tuple_exists (x4) - 0084
specialize jordan_primitive_crt_tuple_exists (x5) - 0085
specialize jordan_primitive_crt_tuple_exists (k) - 0086
apply jordan_primitive_crt_tuple_exists - 0087
exact hm - 0088
exact hn - 0089
exact hcop - 0090
exact hl_witness_witness_right_right - 0091
exact hr_witness_witness_right_right - 0092
cases hc - 0093
cases hc_witness - 0094
cases hc_witness_witness - 0095
have hext : exists U V W X. ((forall jt_index_rectpreservecodes jt_left_rectpreservecodes jt_right_rectpreservecodes. (exists jt_gap_rectpreservecodesindex. jt_gap_rectpreservecodesindex+S (jt_index_rectpreservecodes)=(q)) -> (((exists fs_h_jt_rectpreservecodesleft. fs_h_jt_rectpreservecodesleft + S (jt_left_rectpreservecodes) = S ((S (jt_index_rectpreservecodes)) * Q)) /\ exists fs_q_jt_rectpreservecodesleft. P = fs_q_jt_rectpreservecodesleft * S ((S (jt_index_rectpreservecodes)) * Q) + (jt_left_rectpreservecodes))) -> (((exists fs_h_jt_rectpreservecodesright. fs_h_jt_rectpreservecodesright + S (jt_right_rectpreservecodes) = S ((S (jt_index_rectpreservecodes)) * V)) /\ exists fs_q_jt_rectpreservecodesright. U = fs_q_jt_rectpreservecodesright * S ((S (jt_index_rectpreservecodes)) * V) + (jt_right_rectpreservecodes))) -> jt_left_rectpreservecodes=jt_right_rectpreservecodes) /\ (((forall jt_index_rectpreservescales jt_left_rectpreservescales jt_right_rectpreservescales. (exists jt_gap_rectpreservescalesindex. jt_gap_rectpreservescalesindex+S (jt_index_rectpreservescales)=(q)) -> (((exists fs_h_jt_rectpreservescalesleft. fs_h_jt_rectpreservescalesleft + S (jt_left_rectpreservescales) = S ((S (jt_index_rectpreservescales)) * T)) /\ exists fs_q_jt_rectpreservescalesleft. R = fs_q_jt_rectpreservescalesleft * S ((S (jt_index_rectpreservescales)) * T) + (jt_left_rectpreservescales))) -> (((exists fs_h_jt_rectpreservescalesright. fs_h_jt_rectpreservescalesright + S (jt_right_rectpreservescales) = S ((S (jt_index_rectpreservescales)) * X)) /\ exists fs_q_jt_rectpreservescalesright. W = fs_q_jt_rectpreservescalesright * S ((S (jt_index_rectpreservescales)) * X) + (jt_right_rectpreservescales))) -> jt_left_rectpreservescales=jt_right_rectpreservescales) /\ (((((exists fs_h_jt_rectlastcode. fs_h_jt_rectlastcode + S (x6) = S ((S (q)) * V)) /\ exists fs_q_jt_rectlastcode. U = fs_q_jt_rectlastcode * S ((S (q)) * V) + (x6))) /\ (((exists fs_h_jt_rectlastscale. fs_h_jt_rectlastscale + S (x7) = S ((S (q)) * X)) /\ exists fs_q_jt_rectlastscale. W = fs_q_jt_rectlastscale * S ((S (q)) * X) + (x7)))))))) - 0096
specialize jordan_tuple_outer_append_exists (P) - 0097
specialize jordan_tuple_outer_append_exists (Q) - 0098
specialize jordan_tuple_outer_append_exists (R) - 0099
specialize jordan_tuple_outer_append_exists (T) - 0100
specialize jordan_tuple_outer_append_exists (q) - 0101
specialize jordan_tuple_outer_append_exists (x6) - 0102
specialize jordan_tuple_outer_append_exists (x7) - 0103
apply jordan_tuple_outer_append_exists - 0104
cases hext - 0105
cases hext_witness - 0106
cases hext_witness_witness - 0107
cases hext_witness_witness_witness - 0108
cases hext_witness_witness_witness_witness - 0109
cases hext_witness_witness_witness_witness_right - 0110
cases hext_witness_witness_witness_witness_right_right - 0111
exists x8 - 0112
exists x9 - 0113
exists x10 - 0114
exists x11 - 0115
intro p - 0116
intro hp - 0117
have hpc : p=q \/ (exists jt_gap_rectnewcase. jt_gap_rectnewcase+S (p)=(q)) - 0118
specialize finite_lt_succ_eq_or_lt (q) - 0119
specialize finite_lt_succ_eq_or_lt (p) - 0120
apply finite_lt_succ_eq_or_lt - 0121
exact hp - 0122
cases hpc - 0123
exists x - 0124
exists x1 - 0125
exists x2 - 0126
exists x3 - 0127
exists x4 - 0128
exists x5 - 0129
exists x6 - 0130
exists x7 - 0131
split - 0132
exact hrow - 0133
split - 0134
exact hcoords_witness_witness_right - 0135
split - 0136
rewrite hpc_left - 0137
exact hcoords_witness_witness_left - 0138
split - 0139
exact hl_witness_witness_left - 0140
split - 0141
exact hr_witness_witness_left - 0142
split - 0143
split - 0144
rewrite hpc_left - 0145
rewrite hpc_left - 0146
exact hext_witness_witness_witness_witness_right_right_left - 0147
rewrite hpc_left - 0148
rewrite hpc_left - 0149
exact hext_witness_witness_witness_witness_right_right_right - 0150
split - 0151
exact hc_witness_witness_left - 0152
exact hc_witness_witness_right - 0153
have hprev : exists i j b c d e f g. ((exists jt_gap_rectoldvaluerow. jt_gap_rectoldvaluerow+S (i)=(u)) /\ (((exists jt_gap_rectoldvaluecolumn. jt_gap_rectoldvaluecolumn+S (j)=(v)) /\ (((p=(v)*(i)+(j)) /\ (((((((exists fs_h_jt_rectoldvalueleftcode. fs_h_jt_rectoldvalueleftcode + S (b) = S ((S (i)) * B)) /\ exists fs_q_jt_rectoldvalueleftcode. A = fs_q_jt_rectoldvalueleftcode * S ((S (i)) * B) + (b))) /\ (((exists fs_h_jt_rectoldvalueleftscale. fs_h_jt_rectoldvalueleftscale + S (c) = S ((S (i)) * D)) /\ exists fs_q_jt_rectoldvalueleftscale. C = fs_q_jt_rectoldvalueleftscale * S ((S (i)) * D) + (c))))) /\ (((((((exists fs_h_jt_rectoldvaluerightcode. fs_h_jt_rectoldvaluerightcode + S (d) = S ((S (j)) * F)) /\ exists fs_q_jt_rectoldvaluerightcode. E = fs_q_jt_rectoldvaluerightcode * S ((S (j)) * F) + (d))) /\ (((exists fs_h_jt_rectoldvaluerightscale. fs_h_jt_rectoldvaluerightscale + S (e) = S ((S (j)) * H)) /\ exists fs_q_jt_rectoldvaluerightscale. G = fs_q_jt_rectoldvaluerightscale * S ((S (j)) * H) + (e))))) /\ (((((((exists fs_h_jt_rectoldvalueoutputcode. fs_h_jt_rectoldvalueoutputcode + S (f) = S ((S (p)) * Q)) /\ exists fs_q_jt_rectoldvalueoutputcode. P = fs_q_jt_rectoldvalueoutputcode * S ((S (p)) * Q) + (f))) /\ (((exists fs_h_jt_rectoldvalueoutputscale. fs_h_jt_rectoldvalueoutputscale + S (g) = S ((S (p)) * T)) /\ exists fs_q_jt_rectoldvalueoutputscale. R = fs_q_jt_rectoldvalueoutputscale * S ((S (p)) * T) + (g))))) /\ (((((forall jt_index_rectoldvaluecrtbound. (exists jt_gap_rectoldvaluecrtboundindex. jt_gap_rectoldvaluecrtboundindex+S (jt_index_rectoldvaluecrtbound)=(k)) -> exists jt_value_rectoldvaluecrtbound. ((((exists fs_h_jt_rectoldvaluecrtboundat. fs_h_jt_rectoldvaluecrtboundat + S (jt_value_rectoldvaluecrtbound) = S ((S (jt_index_rectoldvaluecrtbound)) * g)) /\ exists fs_q_jt_rectoldvaluecrtboundat. f = fs_q_jt_rectoldvaluecrtboundat * S ((S (jt_index_rectoldvaluecrtbound)) * g) + (jt_value_rectoldvaluecrtbound))) /\ (exists jt_gap_rectoldvaluecrtboundvalue. jt_gap_rectoldvaluecrtboundvalue+S (jt_value_rectoldvaluecrtbound)=(m*n)))) /\ (((forall jt_index_rectoldvaluecrtleft jt_left_rectoldvaluecrtleft jt_right_rectoldvaluecrtleft. (exists jt_gap_rectoldvaluecrtleftindex. jt_gap_rectoldvaluecrtleftindex+S (jt_index_rectoldvaluecrtleft)=(k)) -> (((exists fs_h_jt_rectoldvaluecrtleftleft. fs_h_jt_rectoldvaluecrtleftleft + S (jt_left_rectoldvaluecrtleft) = S ((S (jt_index_rectoldvaluecrtleft)) * g)) /\ exists fs_q_jt_rectoldvaluecrtleftleft. f = fs_q_jt_rectoldvaluecrtleftleft * S ((S (jt_index_rectoldvaluecrtleft)) * g) + (jt_left_rectoldvaluecrtleft))) -> (((exists fs_h_jt_rectoldvaluecrtleftright. fs_h_jt_rectoldvaluecrtleftright + S (jt_right_rectoldvaluecrtleft) = S ((S (jt_index_rectoldvaluecrtleft)) * c)) /\ exists fs_q_jt_rectoldvaluecrtleftright. b = fs_q_jt_rectoldvaluecrtleftright * S ((S (jt_index_rectoldvaluecrtleft)) * c) + (jt_right_rectoldvaluecrtleft))) -> (exists jt_left_rectoldvaluecrtleftmod jt_right_rectoldvaluecrtleftmod. (jt_left_rectoldvaluecrtleft)+(m)*jt_left_rectoldvaluecrtleftmod=(jt_right_rectoldvaluecrtleft)+(m)*jt_right_rectoldvaluecrtleftmod)) /\ (forall jt_index_rectoldvaluecrtright jt_left_rectoldvaluecrtright jt_right_rectoldvaluecrtright. (exists jt_gap_rectoldvaluecrtrightindex. jt_gap_rectoldvaluecrtrightindex+S (jt_index_rectoldvaluecrtright)=(k)) -> (((exists fs_h_jt_rectoldvaluecrtrightleft. fs_h_jt_rectoldvaluecrtrightleft + S (jt_left_rectoldvaluecrtright) = S ((S (jt_index_rectoldvaluecrtright)) * g)) /\ exists fs_q_jt_rectoldvaluecrtrightleft. f = fs_q_jt_rectoldvaluecrtrightleft * S ((S (jt_index_rectoldvaluecrtright)) * g) + (jt_left_rectoldvaluecrtright))) -> (((exists fs_h_jt_rectoldvaluecrtrightright. fs_h_jt_rectoldvaluecrtrightright + S (jt_right_rectoldvaluecrtright) = S ((S (jt_index_rectoldvaluecrtright)) * e)) /\ exists fs_q_jt_rectoldvaluecrtrightright. d = fs_q_jt_rectoldvaluecrtrightright * S ((S (jt_index_rectoldvaluecrtright)) * e) + (jt_right_rectoldvaluecrtright))) -> (exists jt_left_rectoldvaluecrtrightmod jt_right_rectoldvaluecrtrightmod. (jt_left_rectoldvaluecrtright)+(n)*jt_left_rectoldvaluecrtrightmod=(jt_right_rectoldvaluecrtright)+(n)*jt_right_rectoldvaluecrtrightmod)))))) /\ (forall jt_divisor_rectoldvalueprimitive. (exists jt_factor_rectoldvalueprimitivemodulus. (m*n)=(jt_divisor_rectoldvalueprimitive)*jt_factor_rectoldvalueprimitivemodulus) -> (forall jt_index_rectoldvalueprimitivecoordinates jt_value_rectoldvalueprimitivecoordinates. (exists jt_gap_rectoldvalueprimitivecoordinatesindex. jt_gap_rectoldvalueprimitivecoordinatesindex+S (jt_index_rectoldvalueprimitivecoordinates)=(k)) -> (((exists fs_h_jt_rectoldvalueprimitivecoordinatesat. fs_h_jt_rectoldvalueprimitivecoordinatesat + S (jt_value_rectoldvalueprimitivecoordinates) = S ((S (jt_index_rectoldvalueprimitivecoordinates)) * g)) /\ exists fs_q_jt_rectoldvalueprimitivecoordinatesat. f = fs_q_jt_rectoldvalueprimitivecoordinatesat * S ((S (jt_index_rectoldvalueprimitivecoordinates)) * g) + (jt_value_rectoldvalueprimitivecoordinates))) -> (exists jt_factor_rectoldvalueprimitivecoordinatesdivides. (jt_value_rectoldvalueprimitivecoordinates)=(jt_divisor_rectoldvalueprimitive)*jt_factor_rectoldvalueprimitivecoordinatesdivides)) -> jt_divisor_rectoldvalueprimitive=1)))))))))))))) - 0154
specialize hold (p) - 0155
apply hold - 0156
exact hpc_right - 0157
cases hprev - 0158
cases hprev_witness - 0159
cases hprev_witness_witness - 0160
cases hprev_witness_witness_witness - 0161
cases hprev_witness_witness_witness_witness - 0162
cases hprev_witness_witness_witness_witness_witness - 0163
cases hprev_witness_witness_witness_witness_witness_witness - 0164
cases hprev_witness_witness_witness_witness_witness_witness_witness - 0165
cases hprev_witness_witness_witness_witness_witness_witness_witness_witness - 0166
cases hprev_witness_witness_witness_witness_witness_witness_witness_witness_right - 0167
cases hprev_witness_witness_witness_witness_witness_witness_witness_witness_right_right - 0168
cases hprev_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right - 0169
cases hprev_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right - 0170
cases hprev_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_right - 0171
cases hprev_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_right_right - 0172
cases hprev_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_right_left - 0173
exists x12 - 0174
exists x13 - 0175
exists x14 - 0176
exists x15 - 0177
exists x16 - 0178
exists x17 - 0179
exists x18 - 0180
exists x19 - 0181
split - 0182
exact hprev_witness_witness_witness_witness_witness_witness_witness_witness_left - 0183
split - 0184
exact hprev_witness_witness_witness_witness_witness_witness_witness_witness_right_left - 0185
split - 0186
exact hprev_witness_witness_witness_witness_witness_witness_witness_witness_right_right_left - 0187
split - 0188
exact hprev_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_left - 0189
split - 0190
exact hprev_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_left - 0191
split - 0192
split - 0193
specialize jordan_tuple_equal_entry (P) - 0194
specialize jordan_tuple_equal_entry (Q) - 0195
specialize jordan_tuple_equal_entry (x8) - 0196
specialize jordan_tuple_equal_entry (x9) - 0197
specialize jordan_tuple_equal_entry (q) - 0198
specialize jordan_tuple_equal_entry (p) - 0199
specialize jordan_tuple_equal_entry (x18) - 0200
apply jordan_tuple_equal_entry - 0201
exact hext_witness_witness_witness_witness_left - 0202
exact hpc_right - 0203
exact hprev_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_right_left_left - 0204
specialize jordan_tuple_equal_entry (R) - 0205
specialize jordan_tuple_equal_entry (T) - 0206
specialize jordan_tuple_equal_entry (x10) - 0207
specialize jordan_tuple_equal_entry (x11) - 0208
specialize jordan_tuple_equal_entry (q) - 0209
specialize jordan_tuple_equal_entry (p) - 0210
specialize jordan_tuple_equal_entry (x19) - 0211
apply jordan_tuple_equal_entry - 0212
exact hext_witness_witness_witness_witness_right_left - 0213
exact hpc_right - 0214
exact hprev_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_right_left_right - 0215
split - 0216
exact hprev_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_right_right_left - 0217
exact hprev_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_right_right_right