GF00AB

gaussian_factor_matching_unswap

Undo an actual target factor swap by swapping the corresponding actual map entries; original unit witnesses remain valid at both moved positions and every unchanged index.

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

Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved. Exact original first-admission records.

Inputs are genuine canonical signed-pair codes, not arbitrary naturals. Products start at the actual Gaussian identity, whose code is six. The factor list uses the proved prime-divisor property; irreducibility alone is not silently renamed primality. Uniqueness supplies equal lengths, a bounded bijection, and an actual unit at each match, including repeated factors. Units have empty factorizations and zero is excluded. Sorted primary representatives, Gaussian prime classification, and Eisenstein factorization are separate targets.

Exact theorem in conservative defined notation

∀ b. ∀ c. ∀ d. ∀ e. ∀ D. ∀ E. ∀ u. ∀ v. ∀ U. ∀ V. ∀ l. ∀ i. ∀ j. ∀ p. ∀ q. Lt(i,l)Lt(j,l)PermutationPrefix(u,v,S l)GFactorAssociateMatching(b,c,D,E,u,v,S l)BetaAt(d,e,j,p) ∧ (BetaAt(d,e,l,q) ∧ (BetaAt(D,E,j,q) ∧ (BetaAt(D,E,l,p) ∧ (∀ x. ∀ y. Lt(x,S l) → ¬x = j → ¬x = l → BetaAt(d,e,x,y)BetaAt(D,E,x,y))))) → BetaAt(u,v,i,j) ∧ (BetaAt(u,v,l,l) ∧ (BetaAt(U,V,i,l) ∧ (BetaAt(U,V,l,j) ∧ (∀ x. ∀ y. Lt(x,S l) → ¬x = i → ¬x = l → BetaAt(u,v,x,y)BetaAt(U,V,x,y))))) → GFactorAssociateMatching(b,c,d,e,U,V,S l)

Every linked abbreviation expands hygienically to the identical original native formula.

Definition DAG

Actual proof prerequisites

eq_decidable · checked external prerequisitebeta_at_unique · checked external prerequisitegaussian_product_beta_index_transportgaussian_product_beta_value_transportfactor_permutation_swap_reflect_unchanged · checked external prerequisitefinite_bounded_entry_lt · checked external prerequisitele_succ · checked external prerequisitele_refl · checked external prerequisite
Original expanded first-order statement
forall b c d e D E u v U V l i j p q. (exists ge_gap_unswap_source_index. ge_gap_unswap_source_index + S (i) = (l)) -> (exists ge_gap_unswap_target_index. ge_gap_unswap_target_index + S (j) = (l)) -> (((forall pfp_i_unswap_old_bijectionbounded. (exists pfp_gap_unswap_old_bijectionboundedindex. pfp_gap_unswap_old_bijectionboundedindex + S (pfp_i_unswap_old_bijectionbounded) = (S l)) -> exists pfp_a_unswap_old_bijectionbounded. (((exists ff_h_pfp_unswap_old_bijectionboundedentry. ff_h_pfp_unswap_old_bijectionboundedentry + S (pfp_a_unswap_old_bijectionbounded) = S ((S (pfp_i_unswap_old_bijectionbounded)) * v)) /\ exists ff_q_pfp_unswap_old_bijectionboundedentry. u = ff_q_pfp_unswap_old_bijectionboundedentry * S ((S (pfp_i_unswap_old_bijectionbounded)) * v) + (pfp_a_unswap_old_bijectionbounded))) /\ (exists pfp_gap_unswap_old_bijectionboundedvalue. pfp_gap_unswap_old_bijectionboundedvalue + S (pfp_a_unswap_old_bijectionbounded) = (S l))) /\ (((forall pfp_i_unswap_old_bijectioninjective pfp_j_unswap_old_bijectioninjective pfp_a_unswap_old_bijectioninjective. (exists pfp_gap_unswap_old_bijectioninjectivefirst. pfp_gap_unswap_old_bijectioninjectivefirst + S (pfp_i_unswap_old_bijectioninjective) = (S l)) -> (exists pfp_gap_unswap_old_bijectioninjectivesecond. pfp_gap_unswap_old_bijectioninjectivesecond + S (pfp_j_unswap_old_bijectioninjective) = (S l)) -> (((exists ff_h_pfp_unswap_old_bijectioninjectiveleft. ff_h_pfp_unswap_old_bijectioninjectiveleft + S (pfp_a_unswap_old_bijectioninjective) = S ((S (pfp_i_unswap_old_bijectioninjective)) * v)) /\ exists ff_q_pfp_unswap_old_bijectioninjectiveleft. u = ff_q_pfp_unswap_old_bijectioninjectiveleft * S ((S (pfp_i_unswap_old_bijectioninjective)) * v) + (pfp_a_unswap_old_bijectioninjective))) -> (((exists ff_h_pfp_unswap_old_bijectioninjectiveright. ff_h_pfp_unswap_old_bijectioninjectiveright + S (pfp_a_unswap_old_bijectioninjective) = S ((S (pfp_j_unswap_old_bijectioninjective)) * v)) /\ exists ff_q_pfp_unswap_old_bijectioninjectiveright. u = ff_q_pfp_unswap_old_bijectioninjectiveright * S ((S (pfp_j_unswap_old_bijectioninjective)) * v) + (pfp_a_unswap_old_bijectioninjective))) -> pfp_i_unswap_old_bijectioninjective = pfp_j_unswap_old_bijectioninjective) /\ (forall pfp_a_unswap_old_bijectionsurjective. (exists pfp_gap_unswap_old_bijectionsurjectivevalue. pfp_gap_unswap_old_bijectionsurjectivevalue + S (pfp_a_unswap_old_bijectionsurjective) = (S l)) -> exists pfp_i_unswap_old_bijectionsurjective. (exists pfp_gap_unswap_old_bijectionsurjectiveindex. pfp_gap_unswap_old_bijectionsurjectiveindex + S (pfp_i_unswap_old_bijectionsurjective) = (S l)) /\ (((exists ff_h_pfp_unswap_old_bijectionsurjectiveentry. ff_h_pfp_unswap_old_bijectionsurjectiveentry + S (pfp_a_unswap_old_bijectionsurjective) = S ((S (pfp_i_unswap_old_bijectionsurjective)) * v)) /\ exists ff_q_pfp_unswap_old_bijectionsurjectiveentry. u = ff_q_pfp_unswap_old_bijectionsurjectiveentry * S ((S (pfp_i_unswap_old_bijectionsurjective)) * v) + (pfp_a_unswap_old_bijectionsurjective)))))))) -> (forall gr_match_index_unswap_old_matching gr_match_image_unswap_old_matching gr_match_source_unswap_old_matching gr_match_target_unswap_old_matching. (exists ge_gap_unswap_old_matchingindex. ge_gap_unswap_old_matchingindex + S (gr_match_index_unswap_old_matching) = (S l)) -> (((exists ff_h_gprod_unswap_old_matchingmap. ff_h_gprod_unswap_old_matchingmap + S (gr_match_image_unswap_old_matching) = S ((S (gr_match_index_unswap_old_matching)) * v)) /\ exists ff_q_gprod_unswap_old_matchingmap. u = ff_q_gprod_unswap_old_matchingmap * S ((S (gr_match_index_unswap_old_matching)) * v) + (gr_match_image_unswap_old_matching))) -> (((exists ff_h_gprod_unswap_old_matchingsource. ff_h_gprod_unswap_old_matchingsource + S (gr_match_source_unswap_old_matching) = S ((S (gr_match_index_unswap_old_matching)) * c)) /\ exists ff_q_gprod_unswap_old_matchingsource. b = ff_q_gprod_unswap_old_matchingsource * S ((S (gr_match_index_unswap_old_matching)) * c) + (gr_match_source_unswap_old_matching))) -> (((exists ff_h_gprod_unswap_old_matchingtarget. ff_h_gprod_unswap_old_matchingtarget + S (gr_match_target_unswap_old_matching) = S ((S (gr_match_image_unswap_old_matching)) * E)) /\ exists ff_q_gprod_unswap_old_matchingtarget. D = ff_q_gprod_unswap_old_matchingtarget * S ((S (gr_match_image_unswap_old_matching)) * E) + (gr_match_target_unswap_old_matching))) -> (exists gr_unit_unswap_old_matchingunit_witness. ((exists gr_inverse_unswap_old_matchingunit_witnessunit. (exists ge_first_rp_unswap_old_matchingunit_witnessunitidentity ge_first_rn_unswap_old_matchingunit_witnessunitidentity ge_first_ip_unswap_old_matchingunit_witnessunitidentity ge_first_in_unswap_old_matchingunit_witnessunitidentity ge_second_rp_unswap_old_matchingunit_witnessunitidentity ge_second_rn_unswap_old_matchingunit_witnessunitidentity ge_second_ip_unswap_old_matchingunit_witnessunitidentity ge_second_in_unswap_old_matchingunit_witnessunitidentity. ((exists ge_representation_real_code_unswap_old_matchingunit_witnessunitidentityfirst ge_representation_imaginary_code_unswap_old_matchingunit_witnessunitidentityfirst. (((gr_unit_unswap_old_matchingunit_witness) = ((ge_representation_real_code_unswap_old_matchingunit_witnessunitidentityfirst) + (ge_representation_imaginary_code_unswap_old_matchingunit_witnessunitidentityfirst)) * S ((ge_representation_real_code_unswap_old_matchingunit_witnessunitidentityfirst) + (ge_representation_imaginary_code_unswap_old_matchingunit_witnessunitidentityfirst)) + ((ge_representation_imaginary_code_unswap_old_matchingunit_witnessunitidentityfirst) + (ge_representation_imaginary_code_unswap_old_matchingunit_witnessunitidentityfirst))) /\ ((exists ge_balance_positive_unswap_old_matchingunit_witnessunitidentityfirstreal ge_balance_negative_unswap_old_matchingunit_witnessunitidentityfirstreal. (((((ge_representation_real_code_unswap_old_matchingunit_witnessunitidentityfirst) = 2 * (ge_balance_positive_unswap_old_matchingunit_witnessunitidentityfirstreal) /\ (ge_balance_negative_unswap_old_matchingunit_witnessunitidentityfirstreal) = 0) \/ exists ge_signed_half_unswap_old_matchingunit_witnessunitidentityfirstrealdecode. (((ge_representation_real_code_unswap_old_matchingunit_witnessunitidentityfirst) = 2 * ge_signed_half_unswap_old_matchingunit_witnessunitidentityfirstrealdecode + 1 /\ (ge_balance_positive_unswap_old_matchingunit_witnessunitidentityfirstreal) = 0) /\ (ge_balance_negative_unswap_old_matchingunit_witnessunitidentityfirstreal) = S ge_signed_half_unswap_old_matchingunit_witnessunitidentityfirstrealdecode))) /\ ((ge_first_rp_unswap_old_matchingunit_witnessunitidentity) + ge_balance_negative_unswap_old_matchingunit_witnessunitidentityfirstreal = (ge_first_rn_unswap_old_matchingunit_witnessunitidentity) + ge_balance_positive_unswap_old_matchingunit_witnessunitidentityfirstreal))) /\ (exists ge_balance_positive_unswap_old_matchingunit_witnessunitidentityfirstimaginary ge_balance_negative_unswap_old_matchingunit_witnessunitidentityfirstimaginary. (((((ge_representation_imaginary_code_unswap_old_matchingunit_witnessunitidentityfirst) = 2 * (ge_balance_positive_unswap_old_matchingunit_witnessunitidentityfirstimaginary) /\ (ge_balance_negative_unswap_old_matchingunit_witnessunitidentityfirstimaginary) = 0) \/ exists ge_signed_half_unswap_old_matchingunit_witnessunitidentityfirstimaginarydecode. (((ge_representation_imaginary_code_unswap_old_matchingunit_witnessunitidentityfirst) = 2 * ge_signed_half_unswap_old_matchingunit_witnessunitidentityfirstimaginarydecode + 1 /\ (ge_balance_positive_unswap_old_matchingunit_witnessunitidentityfirstimaginary) = 0) /\ (ge_balance_negative_unswap_old_matchingunit_witnessunitidentityfirstimaginary) = S ge_signed_half_unswap_old_matchingunit_witnessunitidentityfirstimaginarydecode))) /\ ((ge_first_ip_unswap_old_matchingunit_witnessunitidentity) + ge_balance_negative_unswap_old_matchingunit_witnessunitidentityfirstimaginary = (ge_first_in_unswap_old_matchingunit_witnessunitidentity) + ge_balance_positive_unswap_old_matchingunit_witnessunitidentityfirstimaginary)))))) /\ ((exists ge_representation_real_code_unswap_old_matchingunit_witnessunitidentitysecond ge_representation_imaginary_code_unswap_old_matchingunit_witnessunitidentitysecond. (((gr_inverse_unswap_old_matchingunit_witnessunit) = ((ge_representation_real_code_unswap_old_matchingunit_witnessunitidentitysecond) + (ge_representation_imaginary_code_unswap_old_matchingunit_witnessunitidentitysecond)) * S ((ge_representation_real_code_unswap_old_matchingunit_witnessunitidentitysecond) + (ge_representation_imaginary_code_unswap_old_matchingunit_witnessunitidentitysecond)) + ((ge_representation_imaginary_code_unswap_old_matchingunit_witnessunitidentitysecond) + (ge_representation_imaginary_code_unswap_old_matchingunit_witnessunitidentitysecond))) /\ ((exists ge_balance_positive_unswap_old_matchingunit_witnessunitidentitysecondreal ge_balance_negative_unswap_old_matchingunit_witnessunitidentitysecondreal. (((((ge_representation_real_code_unswap_old_matchingunit_witnessunitidentitysecond) = 2 * (ge_balance_positive_unswap_old_matchingunit_witnessunitidentitysecondreal) /\ (ge_balance_negative_unswap_old_matchingunit_witnessunitidentitysecondreal) = 0) \/ exists ge_signed_half_unswap_old_matchingunit_witnessunitidentitysecondrealdecode. (((ge_representation_real_code_unswap_old_matchingunit_witnessunitidentitysecond) = 2 * ge_signed_half_unswap_old_matchingunit_witnessunitidentitysecondrealdecode + 1 /\ (ge_balance_positive_unswap_old_matchingunit_witnessunitidentitysecondreal) = 0) /\ (ge_balance_negative_unswap_old_matchingunit_witnessunitidentitysecondreal) = S ge_signed_half_unswap_old_matchingunit_witnessunitidentitysecondrealdecode))) /\ ((ge_second_rp_unswap_old_matchingunit_witnessunitidentity) + ge_balance_negative_unswap_old_matchingunit_witnessunitidentitysecondreal = (ge_second_rn_unswap_old_matchingunit_witnessunitidentity) + ge_balance_positive_unswap_old_matchingunit_witnessunitidentitysecondreal))) /\ (exists ge_balance_positive_unswap_old_matchingunit_witnessunitidentitysecondimaginary ge_balance_negative_unswap_old_matchingunit_witnessunitidentitysecondimaginary. (((((ge_representation_imaginary_code_unswap_old_matchingunit_witnessunitidentitysecond) = 2 * (ge_balance_positive_unswap_old_matchingunit_witnessunitidentitysecondimaginary) /\ (ge_balance_negative_unswap_old_matchingunit_witnessunitidentitysecondimaginary) = 0) \/ exists ge_signed_half_unswap_old_matchingunit_witnessunitidentitysecondimaginarydecode. (((ge_representation_imaginary_code_unswap_old_matchingunit_witnessunitidentitysecond) = 2 * ge_signed_half_unswap_old_matchingunit_witnessunitidentitysecondimaginarydecode + 1 /\ (ge_balance_positive_unswap_old_matchingunit_witnessunitidentitysecondimaginary) = 0) /\ (ge_balance_negative_unswap_old_matchingunit_witnessunitidentitysecondimaginary) = S ge_signed_half_unswap_old_matchingunit_witnessunitidentitysecondimaginarydecode))) /\ ((ge_second_ip_unswap_old_matchingunit_witnessunitidentity) + ge_balance_negative_unswap_old_matchingunit_witnessunitidentitysecondimaginary = (ge_second_in_unswap_old_matchingunit_witnessunitidentity) + ge_balance_positive_unswap_old_matchingunit_witnessunitidentitysecondimaginary)))))) /\ (exists ge_representation_real_code_unswap_old_matchingunit_witnessunitidentityoutput ge_representation_imaginary_code_unswap_old_matchingunit_witnessunitidentityoutput. (((6) = ((ge_representation_real_code_unswap_old_matchingunit_witnessunitidentityoutput) + (ge_representation_imaginary_code_unswap_old_matchingunit_witnessunitidentityoutput)) * S ((ge_representation_real_code_unswap_old_matchingunit_witnessunitidentityoutput) + (ge_representation_imaginary_code_unswap_old_matchingunit_witnessunitidentityoutput)) + ((ge_representation_imaginary_code_unswap_old_matchingunit_witnessunitidentityoutput) + (ge_representation_imaginary_code_unswap_old_matchingunit_witnessunitidentityoutput))) /\ ((exists ge_balance_positive_unswap_old_matchingunit_witnessunitidentityoutputreal ge_balance_negative_unswap_old_matchingunit_witnessunitidentityoutputreal. (((((ge_representation_real_code_unswap_old_matchingunit_witnessunitidentityoutput) = 2 * (ge_balance_positive_unswap_old_matchingunit_witnessunitidentityoutputreal) /\ (ge_balance_negative_unswap_old_matchingunit_witnessunitidentityoutputreal) = 0) \/ exists ge_signed_half_unswap_old_matchingunit_witnessunitidentityoutputrealdecode. (((ge_representation_real_code_unswap_old_matchingunit_witnessunitidentityoutput) = 2 * ge_signed_half_unswap_old_matchingunit_witnessunitidentityoutputrealdecode + 1 /\ (ge_balance_positive_unswap_old_matchingunit_witnessunitidentityoutputreal) = 0) /\ (ge_balance_negative_unswap_old_matchingunit_witnessunitidentityoutputreal) = S ge_signed_half_unswap_old_matchingunit_witnessunitidentityoutputrealdecode))) /\ ((((((((ge_first_rp_unswap_old_matchingunit_witnessunitidentity) * (ge_second_rp_unswap_old_matchingunit_witnessunitidentity))) + (((ge_first_rn_unswap_old_matchingunit_witnessunitidentity) * (ge_second_rn_unswap_old_matchingunit_witnessunitidentity))))) + (((((ge_first_ip_unswap_old_matchingunit_witnessunitidentity) * (ge_second_in_unswap_old_matchingunit_witnessunitidentity))) + (((ge_first_in_unswap_old_matchingunit_witnessunitidentity) * (ge_second_ip_unswap_old_matchingunit_witnessunitidentity))))))) + ge_balance_negative_unswap_old_matchingunit_witnessunitidentityoutputreal = (((((((ge_first_rp_unswap_old_matchingunit_witnessunitidentity) * (ge_second_rn_unswap_old_matchingunit_witnessunitidentity))) + (((ge_first_rn_unswap_old_matchingunit_witnessunitidentity) * (ge_second_rp_unswap_old_matchingunit_witnessunitidentity))))) + (((((ge_first_ip_unswap_old_matchingunit_witnessunitidentity) * (ge_second_ip_unswap_old_matchingunit_witnessunitidentity))) + (((ge_first_in_unswap_old_matchingunit_witnessunitidentity) * (ge_second_in_unswap_old_matchingunit_witnessunitidentity))))))) + ge_balance_positive_unswap_old_matchingunit_witnessunitidentityoutputreal))) /\ (exists ge_balance_positive_unswap_old_matchingunit_witnessunitidentityoutputimaginary ge_balance_negative_unswap_old_matchingunit_witnessunitidentityoutputimaginary. (((((ge_representation_imaginary_code_unswap_old_matchingunit_witnessunitidentityoutput) = 2 * (ge_balance_positive_unswap_old_matchingunit_witnessunitidentityoutputimaginary) /\ (ge_balance_negative_unswap_old_matchingunit_witnessunitidentityoutputimaginary) = 0) \/ exists ge_signed_half_unswap_old_matchingunit_witnessunitidentityoutputimaginarydecode. (((ge_representation_imaginary_code_unswap_old_matchingunit_witnessunitidentityoutput) = 2 * ge_signed_half_unswap_old_matchingunit_witnessunitidentityoutputimaginarydecode + 1 /\ (ge_balance_positive_unswap_old_matchingunit_witnessunitidentityoutputimaginary) = 0) /\ (ge_balance_negative_unswap_old_matchingunit_witnessunitidentityoutputimaginary) = S ge_signed_half_unswap_old_matchingunit_witnessunitidentityoutputimaginarydecode))) /\ ((((((((ge_first_rp_unswap_old_matchingunit_witnessunitidentity) * (ge_second_ip_unswap_old_matchingunit_witnessunitidentity))) + (((ge_first_rn_unswap_old_matchingunit_witnessunitidentity) * (ge_second_in_unswap_old_matchingunit_witnessunitidentity))))) + (((((ge_first_ip_unswap_old_matchingunit_witnessunitidentity) * (ge_second_rp_unswap_old_matchingunit_witnessunitidentity))) + (((ge_first_in_unswap_old_matchingunit_witnessunitidentity) * (ge_second_rn_unswap_old_matchingunit_witnessunitidentity))))))) + ge_balance_negative_unswap_old_matchingunit_witnessunitidentityoutputimaginary = (((((((ge_first_rp_unswap_old_matchingunit_witnessunitidentity) * (ge_second_in_unswap_old_matchingunit_witnessunitidentity))) + (((ge_first_rn_unswap_old_matchingunit_witnessunitidentity) * (ge_second_ip_unswap_old_matchingunit_witnessunitidentity))))) + (((((ge_first_ip_unswap_old_matchingunit_witnessunitidentity) * (ge_second_rn_unswap_old_matchingunit_witnessunitidentity))) + (((ge_first_in_unswap_old_matchingunit_witnessunitidentity) * (ge_second_rp_unswap_old_matchingunit_witnessunitidentity))))))) + ge_balance_positive_unswap_old_matchingunit_witnessunitidentityoutputimaginary)))))))))) /\ (exists ge_first_rp_unswap_old_matchingunit_witnesstransport ge_first_rn_unswap_old_matchingunit_witnesstransport ge_first_ip_unswap_old_matchingunit_witnesstransport ge_first_in_unswap_old_matchingunit_witnesstransport ge_second_rp_unswap_old_matchingunit_witnesstransport ge_second_rn_unswap_old_matchingunit_witnesstransport ge_second_ip_unswap_old_matchingunit_witnesstransport ge_second_in_unswap_old_matchingunit_witnesstransport. ((exists ge_representation_real_code_unswap_old_matchingunit_witnesstransportfirst ge_representation_imaginary_code_unswap_old_matchingunit_witnesstransportfirst. (((gr_unit_unswap_old_matchingunit_witness) = ((ge_representation_real_code_unswap_old_matchingunit_witnesstransportfirst) + (ge_representation_imaginary_code_unswap_old_matchingunit_witnesstransportfirst)) * S ((ge_representation_real_code_unswap_old_matchingunit_witnesstransportfirst) + (ge_representation_imaginary_code_unswap_old_matchingunit_witnesstransportfirst)) + ((ge_representation_imaginary_code_unswap_old_matchingunit_witnesstransportfirst) + (ge_representation_imaginary_code_unswap_old_matchingunit_witnesstransportfirst))) /\ ((exists ge_balance_positive_unswap_old_matchingunit_witnesstransportfirstreal ge_balance_negative_unswap_old_matchingunit_witnesstransportfirstreal. (((((ge_representation_real_code_unswap_old_matchingunit_witnesstransportfirst) = 2 * (ge_balance_positive_unswap_old_matchingunit_witnesstransportfirstreal) /\ (ge_balance_negative_unswap_old_matchingunit_witnesstransportfirstreal) = 0) \/ exists ge_signed_half_unswap_old_matchingunit_witnesstransportfirstrealdecode. (((ge_representation_real_code_unswap_old_matchingunit_witnesstransportfirst) = 2 * ge_signed_half_unswap_old_matchingunit_witnesstransportfirstrealdecode + 1 /\ (ge_balance_positive_unswap_old_matchingunit_witnesstransportfirstreal) = 0) /\ (ge_balance_negative_unswap_old_matchingunit_witnesstransportfirstreal) = S ge_signed_half_unswap_old_matchingunit_witnesstransportfirstrealdecode))) /\ ((ge_first_rp_unswap_old_matchingunit_witnesstransport) + ge_balance_negative_unswap_old_matchingunit_witnesstransportfirstreal = (ge_first_rn_unswap_old_matchingunit_witnesstransport) + ge_balance_positive_unswap_old_matchingunit_witnesstransportfirstreal))) /\ (exists ge_balance_positive_unswap_old_matchingunit_witnesstransportfirstimaginary ge_balance_negative_unswap_old_matchingunit_witnesstransportfirstimaginary. (((((ge_representation_imaginary_code_unswap_old_matchingunit_witnesstransportfirst) = 2 * (ge_balance_positive_unswap_old_matchingunit_witnesstransportfirstimaginary) /\ (ge_balance_negative_unswap_old_matchingunit_witnesstransportfirstimaginary) = 0) \/ exists ge_signed_half_unswap_old_matchingunit_witnesstransportfirstimaginarydecode. (((ge_representation_imaginary_code_unswap_old_matchingunit_witnesstransportfirst) = 2 * ge_signed_half_unswap_old_matchingunit_witnesstransportfirstimaginarydecode + 1 /\ (ge_balance_positive_unswap_old_matchingunit_witnesstransportfirstimaginary) = 0) /\ (ge_balance_negative_unswap_old_matchingunit_witnesstransportfirstimaginary) = S ge_signed_half_unswap_old_matchingunit_witnesstransportfirstimaginarydecode))) /\ ((ge_first_ip_unswap_old_matchingunit_witnesstransport) + ge_balance_negative_unswap_old_matchingunit_witnesstransportfirstimaginary = (ge_first_in_unswap_old_matchingunit_witnesstransport) + ge_balance_positive_unswap_old_matchingunit_witnesstransportfirstimaginary)))))) /\ ((exists ge_representation_real_code_unswap_old_matchingunit_witnesstransportsecond ge_representation_imaginary_code_unswap_old_matchingunit_witnesstransportsecond. (((gr_match_source_unswap_old_matching) = ((ge_representation_real_code_unswap_old_matchingunit_witnesstransportsecond) + (ge_representation_imaginary_code_unswap_old_matchingunit_witnesstransportsecond)) * S ((ge_representation_real_code_unswap_old_matchingunit_witnesstransportsecond) + (ge_representation_imaginary_code_unswap_old_matchingunit_witnesstransportsecond)) + ((ge_representation_imaginary_code_unswap_old_matchingunit_witnesstransportsecond) + (ge_representation_imaginary_code_unswap_old_matchingunit_witnesstransportsecond))) /\ ((exists ge_balance_positive_unswap_old_matchingunit_witnesstransportsecondreal ge_balance_negative_unswap_old_matchingunit_witnesstransportsecondreal. (((((ge_representation_real_code_unswap_old_matchingunit_witnesstransportsecond) = 2 * (ge_balance_positive_unswap_old_matchingunit_witnesstransportsecondreal) /\ (ge_balance_negative_unswap_old_matchingunit_witnesstransportsecondreal) = 0) \/ exists ge_signed_half_unswap_old_matchingunit_witnesstransportsecondrealdecode. (((ge_representation_real_code_unswap_old_matchingunit_witnesstransportsecond) = 2 * ge_signed_half_unswap_old_matchingunit_witnesstransportsecondrealdecode + 1 /\ (ge_balance_positive_unswap_old_matchingunit_witnesstransportsecondreal) = 0) /\ (ge_balance_negative_unswap_old_matchingunit_witnesstransportsecondreal) = S ge_signed_half_unswap_old_matchingunit_witnesstransportsecondrealdecode))) /\ ((ge_second_rp_unswap_old_matchingunit_witnesstransport) + ge_balance_negative_unswap_old_matchingunit_witnesstransportsecondreal = (ge_second_rn_unswap_old_matchingunit_witnesstransport) + ge_balance_positive_unswap_old_matchingunit_witnesstransportsecondreal))) /\ (exists ge_balance_positive_unswap_old_matchingunit_witnesstransportsecondimaginary ge_balance_negative_unswap_old_matchingunit_witnesstransportsecondimaginary. (((((ge_representation_imaginary_code_unswap_old_matchingunit_witnesstransportsecond) = 2 * (ge_balance_positive_unswap_old_matchingunit_witnesstransportsecondimaginary) /\ (ge_balance_negative_unswap_old_matchingunit_witnesstransportsecondimaginary) = 0) \/ exists ge_signed_half_unswap_old_matchingunit_witnesstransportsecondimaginarydecode. (((ge_representation_imaginary_code_unswap_old_matchingunit_witnesstransportsecond) = 2 * ge_signed_half_unswap_old_matchingunit_witnesstransportsecondimaginarydecode + 1 /\ (ge_balance_positive_unswap_old_matchingunit_witnesstransportsecondimaginary) = 0) /\ (ge_balance_negative_unswap_old_matchingunit_witnesstransportsecondimaginary) = S ge_signed_half_unswap_old_matchingunit_witnesstransportsecondimaginarydecode))) /\ ((ge_second_ip_unswap_old_matchingunit_witnesstransport) + ge_balance_negative_unswap_old_matchingunit_witnesstransportsecondimaginary = (ge_second_in_unswap_old_matchingunit_witnesstransport) + ge_balance_positive_unswap_old_matchingunit_witnesstransportsecondimaginary)))))) /\ (exists ge_representation_real_code_unswap_old_matchingunit_witnesstransportoutput ge_representation_imaginary_code_unswap_old_matchingunit_witnesstransportoutput. (((gr_match_target_unswap_old_matching) = ((ge_representation_real_code_unswap_old_matchingunit_witnesstransportoutput) + (ge_representation_imaginary_code_unswap_old_matchingunit_witnesstransportoutput)) * S ((ge_representation_real_code_unswap_old_matchingunit_witnesstransportoutput) + (ge_representation_imaginary_code_unswap_old_matchingunit_witnesstransportoutput)) + ((ge_representation_imaginary_code_unswap_old_matchingunit_witnesstransportoutput) + (ge_representation_imaginary_code_unswap_old_matchingunit_witnesstransportoutput))) /\ ((exists ge_balance_positive_unswap_old_matchingunit_witnesstransportoutputreal ge_balance_negative_unswap_old_matchingunit_witnesstransportoutputreal. (((((ge_representation_real_code_unswap_old_matchingunit_witnesstransportoutput) = 2 * (ge_balance_positive_unswap_old_matchingunit_witnesstransportoutputreal) /\ (ge_balance_negative_unswap_old_matchingunit_witnesstransportoutputreal) = 0) \/ exists ge_signed_half_unswap_old_matchingunit_witnesstransportoutputrealdecode. (((ge_representation_real_code_unswap_old_matchingunit_witnesstransportoutput) = 2 * ge_signed_half_unswap_old_matchingunit_witnesstransportoutputrealdecode + 1 /\ (ge_balance_positive_unswap_old_matchingunit_witnesstransportoutputreal) = 0) /\ (ge_balance_negative_unswap_old_matchingunit_witnesstransportoutputreal) = S ge_signed_half_unswap_old_matchingunit_witnesstransportoutputrealdecode))) /\ ((((((((ge_first_rp_unswap_old_matchingunit_witnesstransport) * (ge_second_rp_unswap_old_matchingunit_witnesstransport))) + (((ge_first_rn_unswap_old_matchingunit_witnesstransport) * (ge_second_rn_unswap_old_matchingunit_witnesstransport))))) + (((((ge_first_ip_unswap_old_matchingunit_witnesstransport) * (ge_second_in_unswap_old_matchingunit_witnesstransport))) + (((ge_first_in_unswap_old_matchingunit_witnesstransport) * (ge_second_ip_unswap_old_matchingunit_witnesstransport))))))) + ge_balance_negative_unswap_old_matchingunit_witnesstransportoutputreal = (((((((ge_first_rp_unswap_old_matchingunit_witnesstransport) * (ge_second_rn_unswap_old_matchingunit_witnesstransport))) + (((ge_first_rn_unswap_old_matchingunit_witnesstransport) * (ge_second_rp_unswap_old_matchingunit_witnesstransport))))) + (((((ge_first_ip_unswap_old_matchingunit_witnesstransport) * (ge_second_ip_unswap_old_matchingunit_witnesstransport))) + (((ge_first_in_unswap_old_matchingunit_witnesstransport) * (ge_second_in_unswap_old_matchingunit_witnesstransport))))))) + ge_balance_positive_unswap_old_matchingunit_witnesstransportoutputreal))) /\ (exists ge_balance_positive_unswap_old_matchingunit_witnesstransportoutputimaginary ge_balance_negative_unswap_old_matchingunit_witnesstransportoutputimaginary. (((((ge_representation_imaginary_code_unswap_old_matchingunit_witnesstransportoutput) = 2 * (ge_balance_positive_unswap_old_matchingunit_witnesstransportoutputimaginary) /\ (ge_balance_negative_unswap_old_matchingunit_witnesstransportoutputimaginary) = 0) \/ exists ge_signed_half_unswap_old_matchingunit_witnesstransportoutputimaginarydecode. (((ge_representation_imaginary_code_unswap_old_matchingunit_witnesstransportoutput) = 2 * ge_signed_half_unswap_old_matchingunit_witnesstransportoutputimaginarydecode + 1 /\ (ge_balance_positive_unswap_old_matchingunit_witnesstransportoutputimaginary) = 0) /\ (ge_balance_negative_unswap_old_matchingunit_witnesstransportoutputimaginary) = S ge_signed_half_unswap_old_matchingunit_witnesstransportoutputimaginarydecode))) /\ ((((((((ge_first_rp_unswap_old_matchingunit_witnesstransport) * (ge_second_ip_unswap_old_matchingunit_witnesstransport))) + (((ge_first_rn_unswap_old_matchingunit_witnesstransport) * (ge_second_in_unswap_old_matchingunit_witnesstransport))))) + (((((ge_first_ip_unswap_old_matchingunit_witnesstransport) * (ge_second_rp_unswap_old_matchingunit_witnesstransport))) + (((ge_first_in_unswap_old_matchingunit_witnesstransport) * (ge_second_rn_unswap_old_matchingunit_witnesstransport))))))) + ge_balance_negative_unswap_old_matchingunit_witnesstransportoutputimaginary = (((((((ge_first_rp_unswap_old_matchingunit_witnesstransport) * (ge_second_in_unswap_old_matchingunit_witnesstransport))) + (((ge_first_rn_unswap_old_matchingunit_witnesstransport) * (ge_second_ip_unswap_old_matchingunit_witnesstransport))))) + (((((ge_first_ip_unswap_old_matchingunit_witnesstransport) * (ge_second_rn_unswap_old_matchingunit_witnesstransport))) + (((ge_first_in_unswap_old_matchingunit_witnesstransport) * (ge_second_rp_unswap_old_matchingunit_witnesstransport))))))) + ge_balance_positive_unswap_old_matchingunit_witnesstransportoutputimaginary)))))))))))) -> (((((exists ff_h_pfp_matching_target_swapoldi. ff_h_pfp_matching_target_swapoldi + S (p) = S ((S (j)) * e)) /\ exists ff_q_pfp_matching_target_swapoldi. d = ff_q_pfp_matching_target_swapoldi * S ((S (j)) * e) + (p))) /\ (((((exists ff_h_pfp_matching_target_swapoldlast. ff_h_pfp_matching_target_swapoldlast + S (q) = S ((S (l)) * e)) /\ exists ff_q_pfp_matching_target_swapoldlast. d = ff_q_pfp_matching_target_swapoldlast * S ((S (l)) * e) + (q))) /\ (((((exists ff_h_pfp_matching_target_swapnewi. ff_h_pfp_matching_target_swapnewi + S (q) = S ((S (j)) * E)) /\ exists ff_q_pfp_matching_target_swapnewi. D = ff_q_pfp_matching_target_swapnewi * S ((S (j)) * E) + (q))) /\ (((((exists ff_h_pfp_matching_target_swapnewlast. ff_h_pfp_matching_target_swapnewlast + S (p) = S ((S (l)) * E)) /\ exists ff_q_pfp_matching_target_swapnewlast. D = ff_q_pfp_matching_target_swapnewlast * S ((S (l)) * E) + (p))) /\ (forall pfp_j_matching_target_swap pfp_a_matching_target_swap. (exists pfp_gap_matching_target_swapbound. pfp_gap_matching_target_swapbound + S (pfp_j_matching_target_swap) = (S (l))) -> ~(pfp_j_matching_target_swap = j) -> ~(pfp_j_matching_target_swap = l) -> (((exists ff_h_pfp_matching_target_swapold. ff_h_pfp_matching_target_swapold + S (pfp_a_matching_target_swap) = S ((S (pfp_j_matching_target_swap)) * e)) /\ exists ff_q_pfp_matching_target_swapold. d = ff_q_pfp_matching_target_swapold * S ((S (pfp_j_matching_target_swap)) * e) + (pfp_a_matching_target_swap))) -> (((exists ff_h_pfp_matching_target_swapnew. ff_h_pfp_matching_target_swapnew + S (pfp_a_matching_target_swap) = S ((S (pfp_j_matching_target_swap)) * E)) /\ exists ff_q_pfp_matching_target_swapnew. D = ff_q_pfp_matching_target_swapnew * S ((S (pfp_j_matching_target_swap)) * E) + (pfp_a_matching_target_swap)))))))))))) -> (((((exists ff_h_pfp_matching_map_swapoldi. ff_h_pfp_matching_map_swapoldi + S (j) = S ((S (i)) * v)) /\ exists ff_q_pfp_matching_map_swapoldi. u = ff_q_pfp_matching_map_swapoldi * S ((S (i)) * v) + (j))) /\ (((((exists ff_h_pfp_matching_map_swapoldlast. ff_h_pfp_matching_map_swapoldlast + S (l) = S ((S (l)) * v)) /\ exists ff_q_pfp_matching_map_swapoldlast. u = ff_q_pfp_matching_map_swapoldlast * S ((S (l)) * v) + (l))) /\ (((((exists ff_h_pfp_matching_map_swapnewi. ff_h_pfp_matching_map_swapnewi + S (l) = S ((S (i)) * V)) /\ exists ff_q_pfp_matching_map_swapnewi. U = ff_q_pfp_matching_map_swapnewi * S ((S (i)) * V) + (l))) /\ (((((exists ff_h_pfp_matching_map_swapnewlast. ff_h_pfp_matching_map_swapnewlast + S (j) = S ((S (l)) * V)) /\ exists ff_q_pfp_matching_map_swapnewlast. U = ff_q_pfp_matching_map_swapnewlast * S ((S (l)) * V) + (j))) /\ (forall pfp_j_matching_map_swap pfp_a_matching_map_swap. (exists pfp_gap_matching_map_swapbound. pfp_gap_matching_map_swapbound + S (pfp_j_matching_map_swap) = (S (l))) -> ~(pfp_j_matching_map_swap = i) -> ~(pfp_j_matching_map_swap = l) -> (((exists ff_h_pfp_matching_map_swapold. ff_h_pfp_matching_map_swapold + S (pfp_a_matching_map_swap) = S ((S (pfp_j_matching_map_swap)) * v)) /\ exists ff_q_pfp_matching_map_swapold. u = ff_q_pfp_matching_map_swapold * S ((S (pfp_j_matching_map_swap)) * v) + (pfp_a_matching_map_swap))) -> (((exists ff_h_pfp_matching_map_swapnew. ff_h_pfp_matching_map_swapnew + S (pfp_a_matching_map_swap) = S ((S (pfp_j_matching_map_swap)) * V)) /\ exists ff_q_pfp_matching_map_swapnew. U = ff_q_pfp_matching_map_swapnew * S ((S (pfp_j_matching_map_swap)) * V) + (pfp_a_matching_map_swap)))))))))))) -> (forall gr_match_index_unswap_new_matching gr_match_image_unswap_new_matching gr_match_source_unswap_new_matching gr_match_target_unswap_new_matching. (exists ge_gap_unswap_new_matchingindex. ge_gap_unswap_new_matchingindex + S (gr_match_index_unswap_new_matching) = (S l)) -> (((exists ff_h_gprod_unswap_new_matchingmap. ff_h_gprod_unswap_new_matchingmap + S (gr_match_image_unswap_new_matching) = S ((S (gr_match_index_unswap_new_matching)) * V)) /\ exists ff_q_gprod_unswap_new_matchingmap. U = ff_q_gprod_unswap_new_matchingmap * S ((S (gr_match_index_unswap_new_matching)) * V) + (gr_match_image_unswap_new_matching))) -> (((exists ff_h_gprod_unswap_new_matchingsource. ff_h_gprod_unswap_new_matchingsource + S (gr_match_source_unswap_new_matching) = S ((S (gr_match_index_unswap_new_matching)) * c)) /\ exists ff_q_gprod_unswap_new_matchingsource. b = ff_q_gprod_unswap_new_matchingsource * S ((S (gr_match_index_unswap_new_matching)) * c) + (gr_match_source_unswap_new_matching))) -> (((exists ff_h_gprod_unswap_new_matchingtarget. ff_h_gprod_unswap_new_matchingtarget + S (gr_match_target_unswap_new_matching) = S ((S (gr_match_image_unswap_new_matching)) * e)) /\ exists ff_q_gprod_unswap_new_matchingtarget. d = ff_q_gprod_unswap_new_matchingtarget * S ((S (gr_match_image_unswap_new_matching)) * e) + (gr_match_target_unswap_new_matching))) -> (exists gr_unit_unswap_new_matchingunit_witness. ((exists gr_inverse_unswap_new_matchingunit_witnessunit. (exists ge_first_rp_unswap_new_matchingunit_witnessunitidentity ge_first_rn_unswap_new_matchingunit_witnessunitidentity ge_first_ip_unswap_new_matchingunit_witnessunitidentity ge_first_in_unswap_new_matchingunit_witnessunitidentity ge_second_rp_unswap_new_matchingunit_witnessunitidentity ge_second_rn_unswap_new_matchingunit_witnessunitidentity ge_second_ip_unswap_new_matchingunit_witnessunitidentity ge_second_in_unswap_new_matchingunit_witnessunitidentity. ((exists ge_representation_real_code_unswap_new_matchingunit_witnessunitidentityfirst ge_representation_imaginary_code_unswap_new_matchingunit_witnessunitidentityfirst. (((gr_unit_unswap_new_matchingunit_witness) = ((ge_representation_real_code_unswap_new_matchingunit_witnessunitidentityfirst) + (ge_representation_imaginary_code_unswap_new_matchingunit_witnessunitidentityfirst)) * S ((ge_representation_real_code_unswap_new_matchingunit_witnessunitidentityfirst) + (ge_representation_imaginary_code_unswap_new_matchingunit_witnessunitidentityfirst)) + ((ge_representation_imaginary_code_unswap_new_matchingunit_witnessunitidentityfirst) + (ge_representation_imaginary_code_unswap_new_matchingunit_witnessunitidentityfirst))) /\ ((exists ge_balance_positive_unswap_new_matchingunit_witnessunitidentityfirstreal ge_balance_negative_unswap_new_matchingunit_witnessunitidentityfirstreal. (((((ge_representation_real_code_unswap_new_matchingunit_witnessunitidentityfirst) = 2 * (ge_balance_positive_unswap_new_matchingunit_witnessunitidentityfirstreal) /\ (ge_balance_negative_unswap_new_matchingunit_witnessunitidentityfirstreal) = 0) \/ exists ge_signed_half_unswap_new_matchingunit_witnessunitidentityfirstrealdecode. (((ge_representation_real_code_unswap_new_matchingunit_witnessunitidentityfirst) = 2 * ge_signed_half_unswap_new_matchingunit_witnessunitidentityfirstrealdecode + 1 /\ (ge_balance_positive_unswap_new_matchingunit_witnessunitidentityfirstreal) = 0) /\ (ge_balance_negative_unswap_new_matchingunit_witnessunitidentityfirstreal) = S ge_signed_half_unswap_new_matchingunit_witnessunitidentityfirstrealdecode))) /\ ((ge_first_rp_unswap_new_matchingunit_witnessunitidentity) + ge_balance_negative_unswap_new_matchingunit_witnessunitidentityfirstreal = (ge_first_rn_unswap_new_matchingunit_witnessunitidentity) + ge_balance_positive_unswap_new_matchingunit_witnessunitidentityfirstreal))) /\ (exists ge_balance_positive_unswap_new_matchingunit_witnessunitidentityfirstimaginary ge_balance_negative_unswap_new_matchingunit_witnessunitidentityfirstimaginary. (((((ge_representation_imaginary_code_unswap_new_matchingunit_witnessunitidentityfirst) = 2 * (ge_balance_positive_unswap_new_matchingunit_witnessunitidentityfirstimaginary) /\ (ge_balance_negative_unswap_new_matchingunit_witnessunitidentityfirstimaginary) = 0) \/ exists ge_signed_half_unswap_new_matchingunit_witnessunitidentityfirstimaginarydecode. (((ge_representation_imaginary_code_unswap_new_matchingunit_witnessunitidentityfirst) = 2 * ge_signed_half_unswap_new_matchingunit_witnessunitidentityfirstimaginarydecode + 1 /\ (ge_balance_positive_unswap_new_matchingunit_witnessunitidentityfirstimaginary) = 0) /\ (ge_balance_negative_unswap_new_matchingunit_witnessunitidentityfirstimaginary) = S ge_signed_half_unswap_new_matchingunit_witnessunitidentityfirstimaginarydecode))) /\ ((ge_first_ip_unswap_new_matchingunit_witnessunitidentity) + ge_balance_negative_unswap_new_matchingunit_witnessunitidentityfirstimaginary = (ge_first_in_unswap_new_matchingunit_witnessunitidentity) + ge_balance_positive_unswap_new_matchingunit_witnessunitidentityfirstimaginary)))))) /\ ((exists ge_representation_real_code_unswap_new_matchingunit_witnessunitidentitysecond ge_representation_imaginary_code_unswap_new_matchingunit_witnessunitidentitysecond. (((gr_inverse_unswap_new_matchingunit_witnessunit) = ((ge_representation_real_code_unswap_new_matchingunit_witnessunitidentitysecond) + (ge_representation_imaginary_code_unswap_new_matchingunit_witnessunitidentitysecond)) * S ((ge_representation_real_code_unswap_new_matchingunit_witnessunitidentitysecond) + (ge_representation_imaginary_code_unswap_new_matchingunit_witnessunitidentitysecond)) + ((ge_representation_imaginary_code_unswap_new_matchingunit_witnessunitidentitysecond) + (ge_representation_imaginary_code_unswap_new_matchingunit_witnessunitidentitysecond))) /\ ((exists ge_balance_positive_unswap_new_matchingunit_witnessunitidentitysecondreal ge_balance_negative_unswap_new_matchingunit_witnessunitidentitysecondreal. (((((ge_representation_real_code_unswap_new_matchingunit_witnessunitidentitysecond) = 2 * (ge_balance_positive_unswap_new_matchingunit_witnessunitidentitysecondreal) /\ (ge_balance_negative_unswap_new_matchingunit_witnessunitidentitysecondreal) = 0) \/ exists ge_signed_half_unswap_new_matchingunit_witnessunitidentitysecondrealdecode. (((ge_representation_real_code_unswap_new_matchingunit_witnessunitidentitysecond) = 2 * ge_signed_half_unswap_new_matchingunit_witnessunitidentitysecondrealdecode + 1 /\ (ge_balance_positive_unswap_new_matchingunit_witnessunitidentitysecondreal) = 0) /\ (ge_balance_negative_unswap_new_matchingunit_witnessunitidentitysecondreal) = S ge_signed_half_unswap_new_matchingunit_witnessunitidentitysecondrealdecode))) /\ ((ge_second_rp_unswap_new_matchingunit_witnessunitidentity) + ge_balance_negative_unswap_new_matchingunit_witnessunitidentitysecondreal = (ge_second_rn_unswap_new_matchingunit_witnessunitidentity) + ge_balance_positive_unswap_new_matchingunit_witnessunitidentitysecondreal))) /\ (exists ge_balance_positive_unswap_new_matchingunit_witnessunitidentitysecondimaginary ge_balance_negative_unswap_new_matchingunit_witnessunitidentitysecondimaginary. (((((ge_representation_imaginary_code_unswap_new_matchingunit_witnessunitidentitysecond) = 2 * (ge_balance_positive_unswap_new_matchingunit_witnessunitidentitysecondimaginary) /\ (ge_balance_negative_unswap_new_matchingunit_witnessunitidentitysecondimaginary) = 0) \/ exists ge_signed_half_unswap_new_matchingunit_witnessunitidentitysecondimaginarydecode. (((ge_representation_imaginary_code_unswap_new_matchingunit_witnessunitidentitysecond) = 2 * ge_signed_half_unswap_new_matchingunit_witnessunitidentitysecondimaginarydecode + 1 /\ (ge_balance_positive_unswap_new_matchingunit_witnessunitidentitysecondimaginary) = 0) /\ (ge_balance_negative_unswap_new_matchingunit_witnessunitidentitysecondimaginary) = S ge_signed_half_unswap_new_matchingunit_witnessunitidentitysecondimaginarydecode))) /\ ((ge_second_ip_unswap_new_matchingunit_witnessunitidentity) + ge_balance_negative_unswap_new_matchingunit_witnessunitidentitysecondimaginary = (ge_second_in_unswap_new_matchingunit_witnessunitidentity) + ge_balance_positive_unswap_new_matchingunit_witnessunitidentitysecondimaginary)))))) /\ (exists ge_representation_real_code_unswap_new_matchingunit_witnessunitidentityoutput ge_representation_imaginary_code_unswap_new_matchingunit_witnessunitidentityoutput. (((6) = ((ge_representation_real_code_unswap_new_matchingunit_witnessunitidentityoutput) + (ge_representation_imaginary_code_unswap_new_matchingunit_witnessunitidentityoutput)) * S ((ge_representation_real_code_unswap_new_matchingunit_witnessunitidentityoutput) + (ge_representation_imaginary_code_unswap_new_matchingunit_witnessunitidentityoutput)) + ((ge_representation_imaginary_code_unswap_new_matchingunit_witnessunitidentityoutput) + (ge_representation_imaginary_code_unswap_new_matchingunit_witnessunitidentityoutput))) /\ ((exists ge_balance_positive_unswap_new_matchingunit_witnessunitidentityoutputreal ge_balance_negative_unswap_new_matchingunit_witnessunitidentityoutputreal. (((((ge_representation_real_code_unswap_new_matchingunit_witnessunitidentityoutput) = 2 * (ge_balance_positive_unswap_new_matchingunit_witnessunitidentityoutputreal) /\ (ge_balance_negative_unswap_new_matchingunit_witnessunitidentityoutputreal) = 0) \/ exists ge_signed_half_unswap_new_matchingunit_witnessunitidentityoutputrealdecode. (((ge_representation_real_code_unswap_new_matchingunit_witnessunitidentityoutput) = 2 * ge_signed_half_unswap_new_matchingunit_witnessunitidentityoutputrealdecode + 1 /\ (ge_balance_positive_unswap_new_matchingunit_witnessunitidentityoutputreal) = 0) /\ (ge_balance_negative_unswap_new_matchingunit_witnessunitidentityoutputreal) = S ge_signed_half_unswap_new_matchingunit_witnessunitidentityoutputrealdecode))) /\ ((((((((ge_first_rp_unswap_new_matchingunit_witnessunitidentity) * (ge_second_rp_unswap_new_matchingunit_witnessunitidentity))) + (((ge_first_rn_unswap_new_matchingunit_witnessunitidentity) * (ge_second_rn_unswap_new_matchingunit_witnessunitidentity))))) + (((((ge_first_ip_unswap_new_matchingunit_witnessunitidentity) * (ge_second_in_unswap_new_matchingunit_witnessunitidentity))) + (((ge_first_in_unswap_new_matchingunit_witnessunitidentity) * (ge_second_ip_unswap_new_matchingunit_witnessunitidentity))))))) + ge_balance_negative_unswap_new_matchingunit_witnessunitidentityoutputreal = (((((((ge_first_rp_unswap_new_matchingunit_witnessunitidentity) * (ge_second_rn_unswap_new_matchingunit_witnessunitidentity))) + (((ge_first_rn_unswap_new_matchingunit_witnessunitidentity) * (ge_second_rp_unswap_new_matchingunit_witnessunitidentity))))) + (((((ge_first_ip_unswap_new_matchingunit_witnessunitidentity) * (ge_second_ip_unswap_new_matchingunit_witnessunitidentity))) + (((ge_first_in_unswap_new_matchingunit_witnessunitidentity) * (ge_second_in_unswap_new_matchingunit_witnessunitidentity))))))) + ge_balance_positive_unswap_new_matchingunit_witnessunitidentityoutputreal))) /\ (exists ge_balance_positive_unswap_new_matchingunit_witnessunitidentityoutputimaginary ge_balance_negative_unswap_new_matchingunit_witnessunitidentityoutputimaginary. (((((ge_representation_imaginary_code_unswap_new_matchingunit_witnessunitidentityoutput) = 2 * (ge_balance_positive_unswap_new_matchingunit_witnessunitidentityoutputimaginary) /\ (ge_balance_negative_unswap_new_matchingunit_witnessunitidentityoutputimaginary) = 0) \/ exists ge_signed_half_unswap_new_matchingunit_witnessunitidentityoutputimaginarydecode. (((ge_representation_imaginary_code_unswap_new_matchingunit_witnessunitidentityoutput) = 2 * ge_signed_half_unswap_new_matchingunit_witnessunitidentityoutputimaginarydecode + 1 /\ (ge_balance_positive_unswap_new_matchingunit_witnessunitidentityoutputimaginary) = 0) /\ (ge_balance_negative_unswap_new_matchingunit_witnessunitidentityoutputimaginary) = S ge_signed_half_unswap_new_matchingunit_witnessunitidentityoutputimaginarydecode))) /\ ((((((((ge_first_rp_unswap_new_matchingunit_witnessunitidentity) * (ge_second_ip_unswap_new_matchingunit_witnessunitidentity))) + (((ge_first_rn_unswap_new_matchingunit_witnessunitidentity) * (ge_second_in_unswap_new_matchingunit_witnessunitidentity))))) + (((((ge_first_ip_unswap_new_matchingunit_witnessunitidentity) * (ge_second_rp_unswap_new_matchingunit_witnessunitidentity))) + (((ge_first_in_unswap_new_matchingunit_witnessunitidentity) * (ge_second_rn_unswap_new_matchingunit_witnessunitidentity))))))) + ge_balance_negative_unswap_new_matchingunit_witnessunitidentityoutputimaginary = (((((((ge_first_rp_unswap_new_matchingunit_witnessunitidentity) * (ge_second_in_unswap_new_matchingunit_witnessunitidentity))) + (((ge_first_rn_unswap_new_matchingunit_witnessunitidentity) * (ge_second_ip_unswap_new_matchingunit_witnessunitidentity))))) + (((((ge_first_ip_unswap_new_matchingunit_witnessunitidentity) * (ge_second_rn_unswap_new_matchingunit_witnessunitidentity))) + (((ge_first_in_unswap_new_matchingunit_witnessunitidentity) * (ge_second_rp_unswap_new_matchingunit_witnessunitidentity))))))) + ge_balance_positive_unswap_new_matchingunit_witnessunitidentityoutputimaginary)))))))))) /\ (exists ge_first_rp_unswap_new_matchingunit_witnesstransport ge_first_rn_unswap_new_matchingunit_witnesstransport ge_first_ip_unswap_new_matchingunit_witnesstransport ge_first_in_unswap_new_matchingunit_witnesstransport ge_second_rp_unswap_new_matchingunit_witnesstransport ge_second_rn_unswap_new_matchingunit_witnesstransport ge_second_ip_unswap_new_matchingunit_witnesstransport ge_second_in_unswap_new_matchingunit_witnesstransport. ((exists ge_representation_real_code_unswap_new_matchingunit_witnesstransportfirst ge_representation_imaginary_code_unswap_new_matchingunit_witnesstransportfirst. (((gr_unit_unswap_new_matchingunit_witness) = ((ge_representation_real_code_unswap_new_matchingunit_witnesstransportfirst) + (ge_representation_imaginary_code_unswap_new_matchingunit_witnesstransportfirst)) * S ((ge_representation_real_code_unswap_new_matchingunit_witnesstransportfirst) + (ge_representation_imaginary_code_unswap_new_matchingunit_witnesstransportfirst)) + ((ge_representation_imaginary_code_unswap_new_matchingunit_witnesstransportfirst) + (ge_representation_imaginary_code_unswap_new_matchingunit_witnesstransportfirst))) /\ ((exists ge_balance_positive_unswap_new_matchingunit_witnesstransportfirstreal ge_balance_negative_unswap_new_matchingunit_witnesstransportfirstreal. (((((ge_representation_real_code_unswap_new_matchingunit_witnesstransportfirst) = 2 * (ge_balance_positive_unswap_new_matchingunit_witnesstransportfirstreal) /\ (ge_balance_negative_unswap_new_matchingunit_witnesstransportfirstreal) = 0) \/ exists ge_signed_half_unswap_new_matchingunit_witnesstransportfirstrealdecode. (((ge_representation_real_code_unswap_new_matchingunit_witnesstransportfirst) = 2 * ge_signed_half_unswap_new_matchingunit_witnesstransportfirstrealdecode + 1 /\ (ge_balance_positive_unswap_new_matchingunit_witnesstransportfirstreal) = 0) /\ (ge_balance_negative_unswap_new_matchingunit_witnesstransportfirstreal) = S ge_signed_half_unswap_new_matchingunit_witnesstransportfirstrealdecode))) /\ ((ge_first_rp_unswap_new_matchingunit_witnesstransport) + ge_balance_negative_unswap_new_matchingunit_witnesstransportfirstreal = (ge_first_rn_unswap_new_matchingunit_witnesstransport) + ge_balance_positive_unswap_new_matchingunit_witnesstransportfirstreal))) /\ (exists ge_balance_positive_unswap_new_matchingunit_witnesstransportfirstimaginary ge_balance_negative_unswap_new_matchingunit_witnesstransportfirstimaginary. (((((ge_representation_imaginary_code_unswap_new_matchingunit_witnesstransportfirst) = 2 * (ge_balance_positive_unswap_new_matchingunit_witnesstransportfirstimaginary) /\ (ge_balance_negative_unswap_new_matchingunit_witnesstransportfirstimaginary) = 0) \/ exists ge_signed_half_unswap_new_matchingunit_witnesstransportfirstimaginarydecode. (((ge_representation_imaginary_code_unswap_new_matchingunit_witnesstransportfirst) = 2 * ge_signed_half_unswap_new_matchingunit_witnesstransportfirstimaginarydecode + 1 /\ (ge_balance_positive_unswap_new_matchingunit_witnesstransportfirstimaginary) = 0) /\ (ge_balance_negative_unswap_new_matchingunit_witnesstransportfirstimaginary) = S ge_signed_half_unswap_new_matchingunit_witnesstransportfirstimaginarydecode))) /\ ((ge_first_ip_unswap_new_matchingunit_witnesstransport) + ge_balance_negative_unswap_new_matchingunit_witnesstransportfirstimaginary = (ge_first_in_unswap_new_matchingunit_witnesstransport) + ge_balance_positive_unswap_new_matchingunit_witnesstransportfirstimaginary)))))) /\ ((exists ge_representation_real_code_unswap_new_matchingunit_witnesstransportsecond ge_representation_imaginary_code_unswap_new_matchingunit_witnesstransportsecond. (((gr_match_source_unswap_new_matching) = ((ge_representation_real_code_unswap_new_matchingunit_witnesstransportsecond) + (ge_representation_imaginary_code_unswap_new_matchingunit_witnesstransportsecond)) * S ((ge_representation_real_code_unswap_new_matchingunit_witnesstransportsecond) + (ge_representation_imaginary_code_unswap_new_matchingunit_witnesstransportsecond)) + ((ge_representation_imaginary_code_unswap_new_matchingunit_witnesstransportsecond) + (ge_representation_imaginary_code_unswap_new_matchingunit_witnesstransportsecond))) /\ ((exists ge_balance_positive_unswap_new_matchingunit_witnesstransportsecondreal ge_balance_negative_unswap_new_matchingunit_witnesstransportsecondreal. (((((ge_representation_real_code_unswap_new_matchingunit_witnesstransportsecond) = 2 * (ge_balance_positive_unswap_new_matchingunit_witnesstransportsecondreal) /\ (ge_balance_negative_unswap_new_matchingunit_witnesstransportsecondreal) = 0) \/ exists ge_signed_half_unswap_new_matchingunit_witnesstransportsecondrealdecode. (((ge_representation_real_code_unswap_new_matchingunit_witnesstransportsecond) = 2 * ge_signed_half_unswap_new_matchingunit_witnesstransportsecondrealdecode + 1 /\ (ge_balance_positive_unswap_new_matchingunit_witnesstransportsecondreal) = 0) /\ (ge_balance_negative_unswap_new_matchingunit_witnesstransportsecondreal) = S ge_signed_half_unswap_new_matchingunit_witnesstransportsecondrealdecode))) /\ ((ge_second_rp_unswap_new_matchingunit_witnesstransport) + ge_balance_negative_unswap_new_matchingunit_witnesstransportsecondreal = (ge_second_rn_unswap_new_matchingunit_witnesstransport) + ge_balance_positive_unswap_new_matchingunit_witnesstransportsecondreal))) /\ (exists ge_balance_positive_unswap_new_matchingunit_witnesstransportsecondimaginary ge_balance_negative_unswap_new_matchingunit_witnesstransportsecondimaginary. (((((ge_representation_imaginary_code_unswap_new_matchingunit_witnesstransportsecond) = 2 * (ge_balance_positive_unswap_new_matchingunit_witnesstransportsecondimaginary) /\ (ge_balance_negative_unswap_new_matchingunit_witnesstransportsecondimaginary) = 0) \/ exists ge_signed_half_unswap_new_matchingunit_witnesstransportsecondimaginarydecode. (((ge_representation_imaginary_code_unswap_new_matchingunit_witnesstransportsecond) = 2 * ge_signed_half_unswap_new_matchingunit_witnesstransportsecondimaginarydecode + 1 /\ (ge_balance_positive_unswap_new_matchingunit_witnesstransportsecondimaginary) = 0) /\ (ge_balance_negative_unswap_new_matchingunit_witnesstransportsecondimaginary) = S ge_signed_half_unswap_new_matchingunit_witnesstransportsecondimaginarydecode))) /\ ((ge_second_ip_unswap_new_matchingunit_witnesstransport) + ge_balance_negative_unswap_new_matchingunit_witnesstransportsecondimaginary = (ge_second_in_unswap_new_matchingunit_witnesstransport) + ge_balance_positive_unswap_new_matchingunit_witnesstransportsecondimaginary)))))) /\ (exists ge_representation_real_code_unswap_new_matchingunit_witnesstransportoutput ge_representation_imaginary_code_unswap_new_matchingunit_witnesstransportoutput. (((gr_match_target_unswap_new_matching) = ((ge_representation_real_code_unswap_new_matchingunit_witnesstransportoutput) + (ge_representation_imaginary_code_unswap_new_matchingunit_witnesstransportoutput)) * S ((ge_representation_real_code_unswap_new_matchingunit_witnesstransportoutput) + (ge_representation_imaginary_code_unswap_new_matchingunit_witnesstransportoutput)) + ((ge_representation_imaginary_code_unswap_new_matchingunit_witnesstransportoutput) + (ge_representation_imaginary_code_unswap_new_matchingunit_witnesstransportoutput))) /\ ((exists ge_balance_positive_unswap_new_matchingunit_witnesstransportoutputreal ge_balance_negative_unswap_new_matchingunit_witnesstransportoutputreal. (((((ge_representation_real_code_unswap_new_matchingunit_witnesstransportoutput) = 2 * (ge_balance_positive_unswap_new_matchingunit_witnesstransportoutputreal) /\ (ge_balance_negative_unswap_new_matchingunit_witnesstransportoutputreal) = 0) \/ exists ge_signed_half_unswap_new_matchingunit_witnesstransportoutputrealdecode. (((ge_representation_real_code_unswap_new_matchingunit_witnesstransportoutput) = 2 * ge_signed_half_unswap_new_matchingunit_witnesstransportoutputrealdecode + 1 /\ (ge_balance_positive_unswap_new_matchingunit_witnesstransportoutputreal) = 0) /\ (ge_balance_negative_unswap_new_matchingunit_witnesstransportoutputreal) = S ge_signed_half_unswap_new_matchingunit_witnesstransportoutputrealdecode))) /\ ((((((((ge_first_rp_unswap_new_matchingunit_witnesstransport) * (ge_second_rp_unswap_new_matchingunit_witnesstransport))) + (((ge_first_rn_unswap_new_matchingunit_witnesstransport) * (ge_second_rn_unswap_new_matchingunit_witnesstransport))))) + (((((ge_first_ip_unswap_new_matchingunit_witnesstransport) * (ge_second_in_unswap_new_matchingunit_witnesstransport))) + (((ge_first_in_unswap_new_matchingunit_witnesstransport) * (ge_second_ip_unswap_new_matchingunit_witnesstransport))))))) + ge_balance_negative_unswap_new_matchingunit_witnesstransportoutputreal = (((((((ge_first_rp_unswap_new_matchingunit_witnesstransport) * (ge_second_rn_unswap_new_matchingunit_witnesstransport))) + (((ge_first_rn_unswap_new_matchingunit_witnesstransport) * (ge_second_rp_unswap_new_matchingunit_witnesstransport))))) + (((((ge_first_ip_unswap_new_matchingunit_witnesstransport) * (ge_second_ip_unswap_new_matchingunit_witnesstransport))) + (((ge_first_in_unswap_new_matchingunit_witnesstransport) * (ge_second_in_unswap_new_matchingunit_witnesstransport))))))) + ge_balance_positive_unswap_new_matchingunit_witnesstransportoutputreal))) /\ (exists ge_balance_positive_unswap_new_matchingunit_witnesstransportoutputimaginary ge_balance_negative_unswap_new_matchingunit_witnesstransportoutputimaginary. (((((ge_representation_imaginary_code_unswap_new_matchingunit_witnesstransportoutput) = 2 * (ge_balance_positive_unswap_new_matchingunit_witnesstransportoutputimaginary) /\ (ge_balance_negative_unswap_new_matchingunit_witnesstransportoutputimaginary) = 0) \/ exists ge_signed_half_unswap_new_matchingunit_witnesstransportoutputimaginarydecode. (((ge_representation_imaginary_code_unswap_new_matchingunit_witnesstransportoutput) = 2 * ge_signed_half_unswap_new_matchingunit_witnesstransportoutputimaginarydecode + 1 /\ (ge_balance_positive_unswap_new_matchingunit_witnesstransportoutputimaginary) = 0) /\ (ge_balance_negative_unswap_new_matchingunit_witnesstransportoutputimaginary) = S ge_signed_half_unswap_new_matchingunit_witnesstransportoutputimaginarydecode))) /\ ((((((((ge_first_rp_unswap_new_matchingunit_witnesstransport) * (ge_second_ip_unswap_new_matchingunit_witnesstransport))) + (((ge_first_rn_unswap_new_matchingunit_witnesstransport) * (ge_second_in_unswap_new_matchingunit_witnesstransport))))) + (((((ge_first_ip_unswap_new_matchingunit_witnesstransport) * (ge_second_rp_unswap_new_matchingunit_witnesstransport))) + (((ge_first_in_unswap_new_matchingunit_witnesstransport) * (ge_second_rn_unswap_new_matchingunit_witnesstransport))))))) + ge_balance_negative_unswap_new_matchingunit_witnesstransportoutputimaginary = (((((((ge_first_rp_unswap_new_matchingunit_witnesstransport) * (ge_second_in_unswap_new_matchingunit_witnesstransport))) + (((ge_first_rn_unswap_new_matchingunit_witnesstransport) * (ge_second_ip_unswap_new_matchingunit_witnesstransport))))) + (((((ge_first_ip_unswap_new_matchingunit_witnesstransport) * (ge_second_rn_unswap_new_matchingunit_witnesstransport))) + (((ge_first_in_unswap_new_matchingunit_witnesstransport) * (ge_second_rp_unswap_new_matchingunit_witnesstransport))))))) + ge_balance_positive_unswap_new_matchingunit_witnesstransportoutputimaginary))))))))))))

Complete tactic proof in conservative notation

All 245 original proof lines are preserved. Only local proposition formulas are abbreviated; every abbreviation has an exact binder-safe expansion check. The linked exact edition contains the unchanged replay script.

Read the argument

Proof checkpoints

245 script commands · 32 reading checkpoints · 10 local claims

This is a reading aid, not a new proof or a proof-tree certificate. Checkpoint groups are consecutive commands, not inferred branch boundaries. Every step links to the preserved script.

Definition notation is shown below. Open the paired exact edition for the original native formulas. Source pairing is not a new equivalence certificate.

Named ingredients (2)
01Fix variables and assumptionsL1–10

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

  1. L1
    intro b
  2. L2
    intro c
  3. L3
    intro d
  4. L4
    intro e
  5. L5
    intro D
  6. L6
    intro E
  7. L7
    intro u
  8. L8
    intro v
  9. L9
    intro U
  10. L10
    intro V
02Fix variables and assumptionsL11–20

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

  1. L11
    intro l
  2. L12
    intro i
  3. L13
    intro j
  4. L14
    intro p
  5. L15
    intro q
  6. L16
    intro hi
  7. L17
    intro hj
  8. L18
    intro hp
  9. L19
    intro hm
  10. L20
    intro hs
03Fix variables and assumptionsL21–21

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

  1. L21
    intro ht
04Separate the logical casesL22–31

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

  1. L22
    cases hp
  2. L23
    cases hp_right
  3. L24
    cases hs
  4. L25
    cases hs_right
  5. L26
    cases hs_right_right
  6. L27
    cases hs_right_right_right
  7. L28
    cases ht
  8. L29
    cases ht_right
  9. L30
    cases ht_right_right
  10. L31
    cases ht_right_right_right
05Fix variables and assumptionsL32–39

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

  1. L32
    intro k
  2. L33
    intro z
  3. L34
    intro a
  4. L35
    intro t
  5. L36
    intro hk
  6. L37
    intro hmap
  7. L38
    intro hsource
  8. L39
    intro htarget
06Establish hkiL40–43

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

  1. L40
    have hki : k=i \/ ~(k=i)
  2. L41
    specialize eq_decidable (k)
  3. L42
    specialize eq_decidable (i)
  4. L43
    apply eq_decidable
07Separate the logical casesL44–44

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

  1. L44
    cases hki
08Establish hzL45–54

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.

  1. L45
    have hz : z=l
  2. L46
    specialize beta_at_unique (U)
  3. L47
    specialize beta_at_unique (V)
  4. L48
    specialize beta_at_unique (i)
  5. L49
    specialize beta_at_unique (z)
  6. L50
    specialize beta_at_unique (l)
  7. L51
    apply beta_at_unique
  8. L52
    specialize gaussian_product_beta_index_transport (U)
  9. L53
    specialize gaussian_product_beta_index_transport (V)
  10. L54
    specialize gaussian_product_beta_index_transport (k)
09Use earlier factsL55–60

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

  1. L55
    specialize gaussian_product_beta_index_transport (i)
  2. L56
    specialize gaussian_product_beta_index_transport (z)
  3. L57
    apply gaussian_product_beta_index_transport
  4. L58
    exact hki_left
  5. L59
    exact hmap
  6. L60
    exact ht_right_right_left
10Establish hbL61–70

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.

  1. L61
    have hb : q=t
  2. L62
    specialize beta_at_unique (d)
  3. L63
    specialize beta_at_unique (e)
  4. L64
    specialize beta_at_unique (l)
  5. L65
    specialize beta_at_unique (q)
  6. L66
    specialize beta_at_unique (t)
  7. L67
    apply beta_at_unique
  8. L68
    exact hs_right_left
  9. L69
    specialize gaussian_product_beta_index_transport (d)
  10. L70
    specialize gaussian_product_beta_index_transport (e)
11Use earlier factsL71–80

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

  1. L71
    specialize gaussian_product_beta_index_transport (z)
  2. L72
    specialize gaussian_product_beta_index_transport (l)
  3. L73
    specialize gaussian_product_beta_index_transport (t)
  4. L74
    apply gaussian_product_beta_index_transport
  5. L75
    exact hz
  6. L76
    exact htarget
  7. L77
    specialize hm (i)
  8. L78
    specialize hm (j)
  9. L79
    specialize hm (a)
  10. L80
    specialize hm (t)
12Use earlier factsL81–90

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

  1. L81
    apply hm
  2. L82
    specialize le_succ (S i)
  3. L83
    specialize le_succ (l)
  4. L84
    apply le_succ
  5. L85
    exact hi
  6. L86
    exact ht_left
  7. L87
    specialize gaussian_product_beta_index_transport (b)
  8. L88
    specialize gaussian_product_beta_index_transport (c)
  9. L89
    specialize gaussian_product_beta_index_transport (k)
  10. L90
    specialize gaussian_product_beta_index_transport (i)
13Use earlier factsL91–100

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

  1. L91
    specialize gaussian_product_beta_index_transport (a)
  2. L92
    apply gaussian_product_beta_index_transport
  3. L93
    exact hki_left
  4. L94
    exact hsource
  5. L95
    specialize gaussian_product_beta_value_transport (D)
  6. L96
    specialize gaussian_product_beta_value_transport (E)
  7. L97
    specialize gaussian_product_beta_value_transport (j)
  8. L98
    specialize gaussian_product_beta_value_transport (q)
  9. L99
    specialize gaussian_product_beta_value_transport (t)
  10. L100
    apply gaussian_product_beta_value_transport
14Use earlier factsL101–102

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

  1. L101
    exact hb
  2. L102
    exact hs_right_right_left
15Establish hklL103–106

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

  1. L103
    have hkl : k=l \/ ~(k=l)
  2. L104
    specialize eq_decidable (k)
  3. L105
    specialize eq_decidable (l)
  4. L106
    apply eq_decidable
16Separate the logical casesL107–107

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

  1. L107
    cases hkl
17Establish hzL108–117

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.

  1. L108
    have hz : z=j
  2. L109
    specialize beta_at_unique (U)
  3. L110
    specialize beta_at_unique (V)
  4. L111
    specialize beta_at_unique (l)
  5. L112
    specialize beta_at_unique (z)
  6. L113
    specialize beta_at_unique (j)
  7. L114
    apply beta_at_unique
  8. L115
    specialize gaussian_product_beta_index_transport (U)
  9. L116
    specialize gaussian_product_beta_index_transport (V)
  10. L117
    specialize gaussian_product_beta_index_transport (k)
18Use earlier factsL118–123

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

  1. L118
    specialize gaussian_product_beta_index_transport (l)
  2. L119
    specialize gaussian_product_beta_index_transport (z)
  3. L120
    apply gaussian_product_beta_index_transport
  4. L121
    exact hkl_left
  5. L122
    exact hmap
  6. L123
    exact ht_right_right_right_left
19Establish hbL124–133

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.

  1. L124
    have hb : p=t
  2. L125
    specialize beta_at_unique (d)
  3. L126
    specialize beta_at_unique (e)
  4. L127
    specialize beta_at_unique (j)
  5. L128
    specialize beta_at_unique (p)
  6. L129
    specialize beta_at_unique (t)
  7. L130
    apply beta_at_unique
  8. L131
    exact hs_left
  9. L132
    specialize gaussian_product_beta_index_transport (d)
  10. L133
    specialize gaussian_product_beta_index_transport (e)
20Use earlier factsL134–143

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

  1. L134
    specialize gaussian_product_beta_index_transport (z)
  2. L135
    specialize gaussian_product_beta_index_transport (j)
  3. L136
    specialize gaussian_product_beta_index_transport (t)
  4. L137
    apply gaussian_product_beta_index_transport
  5. L138
    exact hz
  6. L139
    exact htarget
  7. L140
    specialize hm (l)
  8. L141
    specialize hm (l)
  9. L142
    specialize hm (a)
  10. L143
    specialize hm (t)
21Use earlier factsL144–153

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

  1. L144
    apply hm
  2. L145
    specialize le_refl (S l)
  3. L146
    apply le_refl
  4. L147
    exact ht_right_left
  5. L148
    specialize gaussian_product_beta_index_transport (b)
  6. L149
    specialize gaussian_product_beta_index_transport (c)
  7. L150
    specialize gaussian_product_beta_index_transport (k)
  8. L151
    specialize gaussian_product_beta_index_transport (l)
  9. L152
    specialize gaussian_product_beta_index_transport (a)
  10. L153
    apply gaussian_product_beta_index_transport
22Use earlier factsL154–163

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

  1. L154
    exact hkl_left
  2. L155
    exact hsource
  3. L156
    specialize gaussian_product_beta_value_transport (D)
  4. L157
    specialize gaussian_product_beta_value_transport (E)
  5. L158
    specialize gaussian_product_beta_value_transport (l)
  6. L159
    specialize gaussian_product_beta_value_transport (p)
  7. L160
    specialize gaussian_product_beta_value_transport (t)
  8. L161
    apply gaussian_product_beta_value_transport
  9. L162
    exact hb
  10. L163
    exact hs_right_right_right_left
23Establish holdL164–173

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

  1. L164
    have hold : BetaAt(u,v,k,z)Definitions: BetaAt(u,v,k,z)Original native command in the exact edition
  2. L165
    specialize factor_permutation_swap_reflect_unchanged (u)
  3. L166
    specialize factor_permutation_swap_reflect_unchanged (v)
  4. L167
    specialize factor_permutation_swap_reflect_unchanged (U)
  5. L168
    specialize factor_permutation_swap_reflect_unchanged (V)
  6. L169
    specialize factor_permutation_swap_reflect_unchanged (l)
  7. L170
    specialize factor_permutation_swap_reflect_unchanged (i)
  8. L171
    specialize factor_permutation_swap_reflect_unchanged (j)
  9. L172
    specialize factor_permutation_swap_reflect_unchanged (l)
  10. L173
    specialize factor_permutation_swap_reflect_unchanged (k)
24Use earlier factsL174–180

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

  1. L174
    specialize factor_permutation_swap_reflect_unchanged (z)
  2. L175
    apply factor_permutation_swap_reflect_unchanged
  3. L176
    exact ht
  4. L177
    exact hk
  5. L178
    exact hki_right
  6. L179
    exact hkl_right
  7. L180
    exact hmap
25Establish hzboundL181–190

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

  1. L181
    have hzbound : Lt(z,S l)Definitions: Lt(z,S l)Original native command in the exact edition
  2. L182
    specialize finite_bounded_entry_lt (u)
  3. L183
    specialize finite_bounded_entry_lt (v)
  4. L184
    specialize finite_bounded_entry_lt (S l)
  5. L185
    specialize finite_bounded_entry_lt (k)
  6. L186
    specialize finite_bounded_entry_lt (z)
  7. L187
    apply finite_bounded_entry_lt
  8. L188
    exact hp_left
  9. L189
    exact hk
  10. L190
    exact hold
26Establish hzjL191–200

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

  1. L191
    have hzj : ~(z=j)
  2. L192
    intro heq
  3. L193
    apply hki_right
  4. L194
    specialize hp_right_left (k)
  5. L195
    specialize hp_right_left (i)
  6. L196
    specialize hp_right_left (j)
  7. L197
    apply hp_right_left
  8. L198
    exact hk
  9. L199
    specialize le_succ (S i)
  10. L200
    specialize le_succ (l)
27Use earlier factsL201–210

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

  1. L201
    apply le_succ
  2. L202
    exact hi
  3. L203
    specialize gaussian_product_beta_value_transport (u)
  4. L204
    specialize gaussian_product_beta_value_transport (v)
  5. L205
    specialize gaussian_product_beta_value_transport (k)
  6. L206
    specialize gaussian_product_beta_value_transport (z)
  7. L207
    specialize gaussian_product_beta_value_transport (j)
  8. L208
    apply gaussian_product_beta_value_transport
  9. L209
    exact heq
  10. L210
    exact hold
28Use earlier factsL211–211

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

  1. L211
    exact ht_left
29Establish hzlL212–221

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

  1. L212
    have hzl : ~(z=l)
  2. L213
    intro heq
  3. L214
    apply hkl_right
  4. L215
    specialize hp_right_left (k)
  5. L216
    specialize hp_right_left (l)
  6. L217
    specialize hp_right_left (l)
  7. L218
    apply hp_right_left
  8. L219
    exact hk
  9. L220
    specialize le_refl (S l)
  10. L221
    apply le_refl
30Use earlier factsL222–231

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

  1. L222
    specialize gaussian_product_beta_value_transport (u)
  2. L223
    specialize gaussian_product_beta_value_transport (v)
  3. L224
    specialize gaussian_product_beta_value_transport (k)
  4. L225
    specialize gaussian_product_beta_value_transport (z)
  5. L226
    specialize gaussian_product_beta_value_transport (l)
  6. L227
    apply gaussian_product_beta_value_transport
  7. L228
    exact heq
  8. L229
    exact hold
  9. L230
    exact ht_right_left
  10. L231
    specialize hm (k)
31Use earlier factsL232–241

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

  1. L232
    specialize hm (z)
  2. L233
    specialize hm (a)
  3. L234
    specialize hm (t)
  4. L235
    apply hm
  5. L236
    exact hk
  6. L237
    exact hold
  7. L238
    exact hsource
  8. L239
    specialize hs_right_right_right_right (z)
  9. L240
    specialize hs_right_right_right_right (t)
  10. L241
    apply hs_right_right_right_right
32Use earlier factsL242–245

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

  1. L242
    exact hzbound
  2. L243
    exact hzj
  3. L244
    exact hzl
  4. L245
    exact htarget

Library-wide reading audit

Original defined command ledger · 245 lines
  1. 0001intro b
  2. 0002intro c
  3. 0003intro d
  4. 0004intro e
  5. 0005intro D
  6. 0006intro E
  7. 0007intro u
  8. 0008intro v
  9. 0009intro U
  10. 0010intro V
  11. 0011intro l
  12. 0012intro i
  13. 0013intro j
  14. 0014intro p
  15. 0015intro q
  16. 0016intro hi
  17. 0017intro hj
  18. 0018intro hp
  19. 0019intro hm
  20. 0020intro hs
  21. 0021intro ht
  22. 0022cases hp
  23. 0023cases hp_right
  24. 0024cases hs
  25. 0025cases hs_right
  26. 0026cases hs_right_right
  27. 0027cases hs_right_right_right
  28. 0028cases ht
  29. 0029cases ht_right
  30. 0030cases ht_right_right
  31. 0031cases ht_right_right_right
  32. 0032intro k
  33. 0033intro z
  34. 0034intro a
  35. 0035intro t
  36. 0036intro hk
  37. 0037intro hmap
  38. 0038intro hsource
  39. 0039intro htarget
  40. 0040have hki : k=i \/ ~(k=i)
  41. 0041specialize eq_decidable (k)
  42. 0042specialize eq_decidable (i)
  43. 0043apply eq_decidable
  44. 0044cases hki
  45. 0045have hz : z=l
  46. 0046specialize beta_at_unique (U)
  47. 0047specialize beta_at_unique (V)
  48. 0048specialize beta_at_unique (i)
  49. 0049specialize beta_at_unique (z)
  50. 0050specialize beta_at_unique (l)
  51. 0051apply beta_at_unique
  52. 0052specialize gaussian_product_beta_index_transport (U)
  53. 0053specialize gaussian_product_beta_index_transport (V)
  54. 0054specialize gaussian_product_beta_index_transport (k)
  55. 0055specialize gaussian_product_beta_index_transport (i)
  56. 0056specialize gaussian_product_beta_index_transport (z)
  57. 0057apply gaussian_product_beta_index_transport
  58. 0058exact hki_left
  59. 0059exact hmap
  60. 0060exact ht_right_right_left
  61. 0061have hb : q=t
  62. 0062specialize beta_at_unique (d)
  63. 0063specialize beta_at_unique (e)
  64. 0064specialize beta_at_unique (l)
  65. 0065specialize beta_at_unique (q)
  66. 0066specialize beta_at_unique (t)
  67. 0067apply beta_at_unique
  68. 0068exact hs_right_left
  69. 0069specialize gaussian_product_beta_index_transport (d)
  70. 0070specialize gaussian_product_beta_index_transport (e)
  71. 0071specialize gaussian_product_beta_index_transport (z)
  72. 0072specialize gaussian_product_beta_index_transport (l)
  73. 0073specialize gaussian_product_beta_index_transport (t)
  74. 0074apply gaussian_product_beta_index_transport
  75. 0075exact hz
  76. 0076exact htarget
  77. 0077specialize hm (i)
  78. 0078specialize hm (j)
  79. 0079specialize hm (a)
  80. 0080specialize hm (t)
  81. 0081apply hm
  82. 0082specialize le_succ (S i)
  83. 0083specialize le_succ (l)
  84. 0084apply le_succ
  85. 0085exact hi
  86. 0086exact ht_left
  87. 0087specialize gaussian_product_beta_index_transport (b)
  88. 0088specialize gaussian_product_beta_index_transport (c)
  89. 0089specialize gaussian_product_beta_index_transport (k)
  90. 0090specialize gaussian_product_beta_index_transport (i)
  91. 0091specialize gaussian_product_beta_index_transport (a)
  92. 0092apply gaussian_product_beta_index_transport
  93. 0093exact hki_left
  94. 0094exact hsource
  95. 0095specialize gaussian_product_beta_value_transport (D)
  96. 0096specialize gaussian_product_beta_value_transport (E)
  97. 0097specialize gaussian_product_beta_value_transport (j)
  98. 0098specialize gaussian_product_beta_value_transport (q)
  99. 0099specialize gaussian_product_beta_value_transport (t)
  100. 0100apply gaussian_product_beta_value_transport
  101. 0101exact hb
  102. 0102exact hs_right_right_left
  103. 0103have hkl : k=l \/ ~(k=l)
  104. 0104specialize eq_decidable (k)
  105. 0105specialize eq_decidable (l)
  106. 0106apply eq_decidable
  107. 0107cases hkl
  108. 0108have hz : z=j
  109. 0109specialize beta_at_unique (U)
  110. 0110specialize beta_at_unique (V)
  111. 0111specialize beta_at_unique (l)
  112. 0112specialize beta_at_unique (z)
  113. 0113specialize beta_at_unique (j)
  114. 0114apply beta_at_unique
  115. 0115specialize gaussian_product_beta_index_transport (U)
  116. 0116specialize gaussian_product_beta_index_transport (V)
  117. 0117specialize gaussian_product_beta_index_transport (k)
  118. 0118specialize gaussian_product_beta_index_transport (l)
  119. 0119specialize gaussian_product_beta_index_transport (z)
  120. 0120apply gaussian_product_beta_index_transport
  121. 0121exact hkl_left
  122. 0122exact hmap
  123. 0123exact ht_right_right_right_left
  124. 0124have hb : p=t
  125. 0125specialize beta_at_unique (d)
  126. 0126specialize beta_at_unique (e)
  127. 0127specialize beta_at_unique (j)
  128. 0128specialize beta_at_unique (p)
  129. 0129specialize beta_at_unique (t)
  130. 0130apply beta_at_unique
  131. 0131exact hs_left
  132. 0132specialize gaussian_product_beta_index_transport (d)
  133. 0133specialize gaussian_product_beta_index_transport (e)
  134. 0134specialize gaussian_product_beta_index_transport (z)
  135. 0135specialize gaussian_product_beta_index_transport (j)
  136. 0136specialize gaussian_product_beta_index_transport (t)
  137. 0137apply gaussian_product_beta_index_transport
  138. 0138exact hz
  139. 0139exact htarget
  140. 0140specialize hm (l)
  141. 0141specialize hm (l)
  142. 0142specialize hm (a)
  143. 0143specialize hm (t)
  144. 0144apply hm
  145. 0145specialize le_refl (S l)
  146. 0146apply le_refl
  147. 0147exact ht_right_left
  148. 0148specialize gaussian_product_beta_index_transport (b)
  149. 0149specialize gaussian_product_beta_index_transport (c)
  150. 0150specialize gaussian_product_beta_index_transport (k)
  151. 0151specialize gaussian_product_beta_index_transport (l)
  152. 0152specialize gaussian_product_beta_index_transport (a)
  153. 0153apply gaussian_product_beta_index_transport
  154. 0154exact hkl_left
  155. 0155exact hsource
  156. 0156specialize gaussian_product_beta_value_transport (D)
  157. 0157specialize gaussian_product_beta_value_transport (E)
  158. 0158specialize gaussian_product_beta_value_transport (l)
  159. 0159specialize gaussian_product_beta_value_transport (p)
  160. 0160specialize gaussian_product_beta_value_transport (t)
  161. 0161apply gaussian_product_beta_value_transport
  162. 0162exact hb
  163. 0163exact hs_right_right_right_left
  164. 0164have hold : BetaAt(u,v,k,z)
  165. 0165specialize factor_permutation_swap_reflect_unchanged (u)
  166. 0166specialize factor_permutation_swap_reflect_unchanged (v)
  167. 0167specialize factor_permutation_swap_reflect_unchanged (U)
  168. 0168specialize factor_permutation_swap_reflect_unchanged (V)
  169. 0169specialize factor_permutation_swap_reflect_unchanged (l)
  170. 0170specialize factor_permutation_swap_reflect_unchanged (i)
  171. 0171specialize factor_permutation_swap_reflect_unchanged (j)
  172. 0172specialize factor_permutation_swap_reflect_unchanged (l)
  173. 0173specialize factor_permutation_swap_reflect_unchanged (k)
  174. 0174specialize factor_permutation_swap_reflect_unchanged (z)
  175. 0175apply factor_permutation_swap_reflect_unchanged
  176. 0176exact ht
  177. 0177exact hk
  178. 0178exact hki_right
  179. 0179exact hkl_right
  180. 0180exact hmap
  181. 0181have hzbound : Lt(z,S l)
  182. 0182specialize finite_bounded_entry_lt (u)
  183. 0183specialize finite_bounded_entry_lt (v)
  184. 0184specialize finite_bounded_entry_lt (S l)
  185. 0185specialize finite_bounded_entry_lt (k)
  186. 0186specialize finite_bounded_entry_lt (z)
  187. 0187apply finite_bounded_entry_lt
  188. 0188exact hp_left
  189. 0189exact hk
  190. 0190exact hold
  191. 0191have hzj : ~(z=j)
  192. 0192intro heq
  193. 0193apply hki_right
  194. 0194specialize hp_right_left (k)
  195. 0195specialize hp_right_left (i)
  196. 0196specialize hp_right_left (j)
  197. 0197apply hp_right_left
  198. 0198exact hk
  199. 0199specialize le_succ (S i)
  200. 0200specialize le_succ (l)
  201. 0201apply le_succ
  202. 0202exact hi
  203. 0203specialize gaussian_product_beta_value_transport (u)
  204. 0204specialize gaussian_product_beta_value_transport (v)
  205. 0205specialize gaussian_product_beta_value_transport (k)
  206. 0206specialize gaussian_product_beta_value_transport (z)
  207. 0207specialize gaussian_product_beta_value_transport (j)
  208. 0208apply gaussian_product_beta_value_transport
  209. 0209exact heq
  210. 0210exact hold
  211. 0211exact ht_left
  212. 0212have hzl : ~(z=l)
  213. 0213intro heq
  214. 0214apply hkl_right
  215. 0215specialize hp_right_left (k)
  216. 0216specialize hp_right_left (l)
  217. 0217specialize hp_right_left (l)
  218. 0218apply hp_right_left
  219. 0219exact hk
  220. 0220specialize le_refl (S l)
  221. 0221apply le_refl
  222. 0222specialize gaussian_product_beta_value_transport (u)
  223. 0223specialize gaussian_product_beta_value_transport (v)
  224. 0224specialize gaussian_product_beta_value_transport (k)
  225. 0225specialize gaussian_product_beta_value_transport (z)
  226. 0226specialize gaussian_product_beta_value_transport (l)
  227. 0227apply gaussian_product_beta_value_transport
  228. 0228exact heq
  229. 0229exact hold
  230. 0230exact ht_right_left
  231. 0231specialize hm (k)
  232. 0232specialize hm (z)
  233. 0233specialize hm (a)
  234. 0234specialize hm (t)
  235. 0235apply hm
  236. 0236exact hk
  237. 0237exact hold
  238. 0238exact hsource
  239. 0239specialize hs_right_right_right_right (z)
  240. 0240specialize hs_right_right_right_right (t)
  241. 0241apply hs_right_right_right_right
  242. 0242exact hzbound
  243. 0243exact hzj
  244. 0244exact hzl
  245. 0245exact htarget