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.
Exact expanded PA statement
forall p h r a b c mb mc rb rc sb sc fb fc tb tc e P M Sprod T A R. p = S r -> r = 2 * h -> (forall gsp_index_gauss_composition_signed_prefix. (exists gsp_lt_gap_gauss_composition_signed_prefix_index_bound. gsp_lt_gap_gauss_composition_signed_prefix_index_bound + S gsp_index_gauss_composition_signed_prefix = h) -> (exists gsp_value_gauss_composition_signed_prefix_entry gsp_magnitude_gauss_composition_signed_prefix_entry gsp_sign_gauss_composition_signed_prefix_entry. (((exists ff_h_gsp_gauss_composition_signed_prefix_entry_source. ff_h_gsp_gauss_composition_signed_prefix_entry_source + S (gsp_value_gauss_composition_signed_prefix_entry) = S ((S (gsp_index_gauss_composition_signed_prefix)) * c)) /\ exists ff_q_gsp_gauss_composition_signed_prefix_entry_source. b = ff_q_gsp_gauss_composition_signed_prefix_entry_source * S ((S (gsp_index_gauss_composition_signed_prefix)) * c) + (gsp_value_gauss_composition_signed_prefix_entry))) /\ ((((exists ff_h_gsp_gauss_composition_signed_prefix_entry_magnitude. ff_h_gsp_gauss_composition_signed_prefix_entry_magnitude + S (gsp_magnitude_gauss_composition_signed_prefix_entry) = S ((S (gsp_index_gauss_composition_signed_prefix)) * mc)) /\ exists ff_q_gsp_gauss_composition_signed_prefix_entry_magnitude. mb = ff_q_gsp_gauss_composition_signed_prefix_entry_magnitude * S ((S (gsp_index_gauss_composition_signed_prefix)) * mc) + (gsp_magnitude_gauss_composition_signed_prefix_entry))) /\ ((((exists ff_h_gsp_gauss_composition_signed_prefix_entry_sign. ff_h_gsp_gauss_composition_signed_prefix_entry_sign + S (gsp_sign_gauss_composition_signed_prefix_entry) = S ((S (gsp_index_gauss_composition_signed_prefix)) * sc)) /\ exists ff_q_gsp_gauss_composition_signed_prefix_entry_sign. sb = ff_q_gsp_gauss_composition_signed_prefix_entry_sign * S ((S (gsp_index_gauss_composition_signed_prefix)) * sc) + (gsp_sign_gauss_composition_signed_prefix_entry))) /\ ((exists gsp_lt_gap_gauss_composition_signed_prefix_entry_positive. gsp_lt_gap_gauss_composition_signed_prefix_entry_positive + S 0 = gsp_magnitude_gauss_composition_signed_prefix_entry) /\ ((exists gsp_le_gap_gauss_composition_signed_prefix_entry_bounded. gsp_le_gap_gauss_composition_signed_prefix_entry_bounded + gsp_magnitude_gauss_composition_signed_prefix_entry = h) /\ ((gsp_sign_gauss_composition_signed_prefix_entry = 0 \/ gsp_sign_gauss_composition_signed_prefix_entry = 1) /\ (((gsp_sign_gauss_composition_signed_prefix_entry = 0 /\ (exists gsp_mod_left_gauss_composition_signed_prefix_entry_lower gsp_mod_right_gauss_composition_signed_prefix_entry_lower. (a * gsp_value_gauss_composition_signed_prefix_entry) + p * gsp_mod_left_gauss_composition_signed_prefix_entry_lower = (gsp_magnitude_gauss_composition_signed_prefix_entry) + p * gsp_mod_right_gauss_composition_signed_prefix_entry_lower)) \/ (gsp_sign_gauss_composition_signed_prefix_entry = 1 /\ (exists gsp_mod_left_gauss_composition_signed_prefix_entry_reflected gsp_mod_right_gauss_composition_signed_prefix_entry_reflected. (a * gsp_value_gauss_composition_signed_prefix_entry) + p * gsp_mod_left_gauss_composition_signed_prefix_entry_reflected = ((2 * h) * gsp_magnitude_gauss_composition_signed_prefix_entry) + p * gsp_mod_right_gauss_composition_signed_prefix_entry_reflected))))))))))) -> (forall gspf_index_gauss_composition_sign_factors gspf_bit_gauss_composition_sign_factors. (exists gsp_lt_gap_gauss_composition_sign_factors_bound. gsp_lt_gap_gauss_composition_sign_factors_bound + S gspf_index_gauss_composition_sign_factors = h) -> (((exists ff_h_gspf_gauss_composition_sign_factors_bit. ff_h_gspf_gauss_composition_sign_factors_bit + S (gspf_bit_gauss_composition_sign_factors) = S ((S (gspf_index_gauss_composition_sign_factors)) * sc)) /\ exists ff_q_gspf_gauss_composition_sign_factors_bit. sb = ff_q_gspf_gauss_composition_sign_factors_bit * S ((S (gspf_index_gauss_composition_sign_factors)) * sc) + (gspf_bit_gauss_composition_sign_factors))) -> (((gspf_bit_gauss_composition_sign_factors = 0) /\ (((exists gsp_beta_height_gspf_gauss_composition_sign_factors_one. gsp_beta_height_gspf_gauss_composition_sign_factors_one + S (1) = S ((S (gspf_index_gauss_composition_sign_factors)) * fc)) /\ exists gsp_beta_quotient_gspf_gauss_composition_sign_factors_one. fb = gsp_beta_quotient_gspf_gauss_composition_sign_factors_one * S ((S (gspf_index_gauss_composition_sign_factors)) * fc) + (1)))) \/ ((gspf_bit_gauss_composition_sign_factors = 1) /\ (((exists ff_h_gspf_gauss_composition_sign_factors_predecessor. ff_h_gspf_gauss_composition_sign_factors_predecessor + S (r) = S ((S (gspf_index_gauss_composition_sign_factors)) * fc)) /\ exists ff_q_gspf_gauss_composition_sign_factors_predecessor. fb = ff_q_gspf_gauss_composition_sign_factors_predecessor * S ((S (gspf_index_gauss_composition_sign_factors)) * fc) + (r)))))) -> (forall fpmp_index_gauss_composition_pointwise_products fpmp_left_gauss_composition_pointwise_products fpmp_right_gauss_composition_pointwise_products fpmp_target_gauss_composition_pointwise_products. (exists fpmp_gap_gauss_composition_pointwise_products. fpmp_gap_gauss_composition_pointwise_products + S fpmp_index_gauss_composition_pointwise_products = h) -> (((exists ff_h_fpmp_gauss_composition_pointwise_products_left. ff_h_fpmp_gauss_composition_pointwise_products_left + S (fpmp_left_gauss_composition_pointwise_products) = S ((S (fpmp_index_gauss_composition_pointwise_products)) * mc)) /\ exists ff_q_fpmp_gauss_composition_pointwise_products_left. mb = ff_q_fpmp_gauss_composition_pointwise_products_left * S ((S (fpmp_index_gauss_composition_pointwise_products)) * mc) + (fpmp_left_gauss_composition_pointwise_products))) -> (((exists ff_h_fpmp_gauss_composition_pointwise_products_right. ff_h_fpmp_gauss_composition_pointwise_products_right + S (fpmp_right_gauss_composition_pointwise_products) = S ((S (fpmp_index_gauss_composition_pointwise_products)) * fc)) /\ exists ff_q_fpmp_gauss_composition_pointwise_products_right. fb = ff_q_fpmp_gauss_composition_pointwise_products_right * S ((S (fpmp_index_gauss_composition_pointwise_products)) * fc) + (fpmp_right_gauss_composition_pointwise_products))) -> (((exists ff_h_fpmp_gauss_composition_pointwise_products_target. ff_h_fpmp_gauss_composition_pointwise_products_target + S (fpmp_target_gauss_composition_pointwise_products) = S ((S (fpmp_index_gauss_composition_pointwise_products)) * tc)) /\ exists ff_q_fpmp_gauss_composition_pointwise_products_target. tb = ff_q_fpmp_gauss_composition_pointwise_products_target * S ((S (fpmp_index_gauss_composition_pointwise_products)) * tc) + (fpmp_target_gauss_composition_pointwise_products))) -> fpmp_target_gauss_composition_pointwise_products = fpmp_left_gauss_composition_pointwise_products * fpmp_right_gauss_composition_pointwise_products) -> (forall gmp_index_gauss_composition_magnitude_range. (exists gsp_lt_gap_gauss_composition_magnitude_range_index_bound. gsp_lt_gap_gauss_composition_magnitude_range_index_bound + S gmp_index_gauss_composition_magnitude_range = h) -> exists gmp_magnitude_gauss_composition_magnitude_range. ((((exists ff_h_gmp_gauss_composition_magnitude_range_decoded. ff_h_gmp_gauss_composition_magnitude_range_decoded + S (gmp_magnitude_gauss_composition_magnitude_range) = S ((S (gmp_index_gauss_composition_magnitude_range)) * mc)) /\ exists ff_q_gmp_gauss_composition_magnitude_range_decoded. mb = ff_q_gmp_gauss_composition_magnitude_range_decoded * S ((S (gmp_index_gauss_composition_magnitude_range)) * mc) + (gmp_magnitude_gauss_composition_magnitude_range))) /\ ((exists gsp_lt_gap_gauss_composition_magnitude_range_positive. gsp_lt_gap_gauss_composition_magnitude_range_positive + S 0 = gmp_magnitude_gauss_composition_magnitude_range) /\ (exists gsp_le_gap_gauss_composition_magnitude_range_bounded. gsp_le_gap_gauss_composition_magnitude_range_bounded + gmp_magnitude_gauss_composition_magnitude_range = h)))) -> (forall fp_i_gauss_composition_magnitude_injective fp_j_gauss_composition_magnitude_injective fp_value_gauss_composition_magnitude_injective. (exists fp_gap_gauss_composition_magnitude_injective_i. fp_gap_gauss_composition_magnitude_injective_i + S fp_i_gauss_composition_magnitude_injective = h) -> (exists fp_gap_gauss_composition_magnitude_injective_j. fp_gap_gauss_composition_magnitude_injective_j + S fp_j_gauss_composition_magnitude_injective = h) -> (((exists ff_h_gauss_composition_magnitude_injective_left. ff_h_gauss_composition_magnitude_injective_left + S (fp_value_gauss_composition_magnitude_injective) = S ((S (fp_i_gauss_composition_magnitude_injective)) * mc)) /\ exists ff_q_gauss_composition_magnitude_injective_left. mb = ff_q_gauss_composition_magnitude_injective_left * S ((S (fp_i_gauss_composition_magnitude_injective)) * mc) + (fp_value_gauss_composition_magnitude_injective))) -> (((exists ff_h_gauss_composition_magnitude_injective_right. ff_h_gauss_composition_magnitude_injective_right + S (fp_value_gauss_composition_magnitude_injective) = S ((S (fp_j_gauss_composition_magnitude_injective)) * mc)) /\ exists ff_q_gauss_composition_magnitude_injective_right. mb = ff_q_gauss_composition_magnitude_injective_right * S ((S (fp_j_gauss_composition_magnitude_injective)) * mc) + (fp_value_gauss_composition_magnitude_injective))) -> fp_i_gauss_composition_magnitude_injective = fp_j_gauss_composition_magnitude_injective) -> (forall gmp_index_gauss_composition_predecessor_recode gmp_predecessor_gauss_composition_predecessor_recode. (exists gsp_lt_gap_gauss_composition_predecessor_recode_index_bound. gsp_lt_gap_gauss_composition_predecessor_recode_index_bound + S gmp_index_gauss_composition_predecessor_recode = h) -> (((exists gsp_beta_height_gmp_gauss_composition_predecessor_recode_source. gsp_beta_height_gmp_gauss_composition_predecessor_recode_source + S (S gmp_predecessor_gauss_composition_predecessor_recode) = S ((S (gmp_index_gauss_composition_predecessor_recode)) * mc)) /\ exists gsp_beta_quotient_gmp_gauss_composition_predecessor_recode_source. mb = gsp_beta_quotient_gmp_gauss_composition_predecessor_recode_source * S ((S (gmp_index_gauss_composition_predecessor_recode)) * mc) + (S gmp_predecessor_gauss_composition_predecessor_recode))) -> (((exists ff_h_gmp_gauss_composition_predecessor_recode_target. ff_h_gmp_gauss_composition_predecessor_recode_target + S (gmp_predecessor_gauss_composition_predecessor_recode) = S ((S (gmp_index_gauss_composition_predecessor_recode)) * rc)) /\ exists ff_q_gmp_gauss_composition_predecessor_recode_target. rb = ff_q_gmp_gauss_composition_predecessor_recode_target * S ((S (gmp_index_gauss_composition_predecessor_recode)) * rc) + (gmp_predecessor_gauss_composition_predecessor_recode)))) -> (forall gsp_range_index_gauss_composition_half_range. (exists gsp_lt_gap_gauss_composition_half_range_range_bound. gsp_lt_gap_gauss_composition_half_range_range_bound + S gsp_range_index_gauss_composition_half_range = h) -> (((exists gsp_beta_height_gauss_composition_half_range_range_entry. gsp_beta_height_gauss_composition_half_range_range_entry + S (1 + gsp_range_index_gauss_composition_half_range) = S ((S (gsp_range_index_gauss_composition_half_range)) * c)) /\ exists gsp_beta_quotient_gauss_composition_half_range_range_entry. b = gsp_beta_quotient_gauss_composition_half_range_range_entry * S ((S (gsp_range_index_gauss_composition_half_range)) * c) + (1 + gsp_range_index_gauss_composition_half_range)))) -> (((exists ff_u_gauss_composition_sign_count_sum ff_v_gauss_composition_sign_count_sum. ((((exists ff_h_gauss_composition_sign_count_sum_start. ff_h_gauss_composition_sign_count_sum_start + S (0) = S ((S (0)) * ff_v_gauss_composition_sign_count_sum)) /\ exists ff_q_gauss_composition_sign_count_sum_start. ff_u_gauss_composition_sign_count_sum = ff_q_gauss_composition_sign_count_sum_start * S ((S (0)) * ff_v_gauss_composition_sign_count_sum) + (0))) /\ ((((exists ff_h_gauss_composition_sign_count_sum_terminal. ff_h_gauss_composition_sign_count_sum_terminal + S (e) = S ((S (h)) * ff_v_gauss_composition_sign_count_sum)) /\ exists ff_q_gauss_composition_sign_count_sum_terminal. ff_u_gauss_composition_sign_count_sum = ff_q_gauss_composition_sign_count_sum_terminal * S ((S (h)) * ff_v_gauss_composition_sign_count_sum) + (e))) /\ forall ff_i_gauss_composition_sign_count_sum. (exists ff_lt_gauss_composition_sign_count_sum_bound. ff_lt_gauss_composition_sign_count_sum_bound + S ff_i_gauss_composition_sign_count_sum = h) -> exists ff_a_gauss_composition_sign_count_sum ff_r_gauss_composition_sign_count_sum ff_s_gauss_composition_sign_count_sum. ((((exists ff_h_gauss_composition_sign_count_sum_summand. ff_h_gauss_composition_sign_count_sum_summand + S (ff_a_gauss_composition_sign_count_sum) = S ((S (ff_i_gauss_composition_sign_count_sum)) * sc)) /\ exists ff_q_gauss_composition_sign_count_sum_summand. sb = ff_q_gauss_composition_sign_count_sum_summand * S ((S (ff_i_gauss_composition_sign_count_sum)) * sc) + (ff_a_gauss_composition_sign_count_sum))) /\ ((((exists ff_h_gauss_composition_sign_count_sum_partial. ff_h_gauss_composition_sign_count_sum_partial + S (ff_r_gauss_composition_sign_count_sum) = S ((S (ff_i_gauss_composition_sign_count_sum)) * ff_v_gauss_composition_sign_count_sum)) /\ exists ff_q_gauss_composition_sign_count_sum_partial. ff_u_gauss_composition_sign_count_sum = ff_q_gauss_composition_sign_count_sum_partial * S ((S (ff_i_gauss_composition_sign_count_sum)) * ff_v_gauss_composition_sign_count_sum) + (ff_r_gauss_composition_sign_count_sum))) /\ ((((exists ff_h_gauss_composition_sign_count_sum_successor. ff_h_gauss_composition_sign_count_sum_successor + S (ff_s_gauss_composition_sign_count_sum) = S ((S (S ff_i_gauss_composition_sign_count_sum)) * ff_v_gauss_composition_sign_count_sum)) /\ exists ff_q_gauss_composition_sign_count_sum_successor. ff_u_gauss_composition_sign_count_sum = ff_q_gauss_composition_sign_count_sum_successor * S ((S (S ff_i_gauss_composition_sign_count_sum)) * ff_v_gauss_composition_sign_count_sum) + (ff_s_gauss_composition_sign_count_sum))) /\ ff_s_gauss_composition_sign_count_sum = ff_r_gauss_composition_sign_count_sum + ff_a_gauss_composition_sign_count_sum)))))) /\ (forall ff_i_gauss_composition_sign_count_bits. (exists ff_lt_gauss_composition_sign_count_bits_bound. ff_lt_gauss_composition_sign_count_bits_bound + S ff_i_gauss_composition_sign_count_bits = h) -> exists ff_bit_gauss_composition_sign_count_bits. ((((exists ff_h_gauss_composition_sign_count_bits_decoded. ff_h_gauss_composition_sign_count_bits_decoded + S (ff_bit_gauss_composition_sign_count_bits) = S ((S (ff_i_gauss_composition_sign_count_bits)) * sc)) /\ exists ff_q_gauss_composition_sign_count_bits_decoded. sb = ff_q_gauss_composition_sign_count_bits_decoded * S ((S (ff_i_gauss_composition_sign_count_bits)) * sc) + (ff_bit_gauss_composition_sign_count_bits))) /\ (ff_bit_gauss_composition_sign_count_bits = 0 \/ ff_bit_gauss_composition_sign_count_bits = 1))))) -> (exists ff_u_gauss_composition_canonical_product ff_v_gauss_composition_canonical_product. ((((exists ff_h_gauss_composition_canonical_product_start. ff_h_gauss_composition_canonical_product_start + S (1) = S ((S (0)) * ff_v_gauss_composition_canonical_product)) /\ exists ff_q_gauss_composition_canonical_product_start. ff_u_gauss_composition_canonical_product = ff_q_gauss_composition_canonical_product_start * S ((S (0)) * ff_v_gauss_composition_canonical_product) + (1))) /\ ((((exists ff_h_gauss_composition_canonical_product_terminal. ff_h_gauss_composition_canonical_product_terminal + S (P) = S ((S (h)) * ff_v_gauss_composition_canonical_product)) /\ exists ff_q_gauss_composition_canonical_product_terminal. ff_u_gauss_composition_canonical_product = ff_q_gauss_composition_canonical_product_terminal * S ((S (h)) * ff_v_gauss_composition_canonical_product) + (P))) /\ forall ff_i_gauss_composition_canonical_product. (exists ff_lt_gauss_composition_canonical_product_bound. ff_lt_gauss_composition_canonical_product_bound + S ff_i_gauss_composition_canonical_product = h) -> exists ff_p_gauss_composition_canonical_product ff_r_gauss_composition_canonical_product ff_s_gauss_composition_canonical_product. ((((exists ff_h_gauss_composition_canonical_product_factor. ff_h_gauss_composition_canonical_product_factor + S (ff_p_gauss_composition_canonical_product) = S ((S (ff_i_gauss_composition_canonical_product)) * c)) /\ exists ff_q_gauss_composition_canonical_product_factor. b = ff_q_gauss_composition_canonical_product_factor * S ((S (ff_i_gauss_composition_canonical_product)) * c) + (ff_p_gauss_composition_canonical_product))) /\ ((((exists ff_h_gauss_composition_canonical_product_partial. ff_h_gauss_composition_canonical_product_partial + S (ff_r_gauss_composition_canonical_product) = S ((S (ff_i_gauss_composition_canonical_product)) * ff_v_gauss_composition_canonical_product)) /\ exists ff_q_gauss_composition_canonical_product_partial. ff_u_gauss_composition_canonical_product = ff_q_gauss_composition_canonical_product_partial * S ((S (ff_i_gauss_composition_canonical_product)) * ff_v_gauss_composition_canonical_product) + (ff_r_gauss_composition_canonical_product))) /\ ((((exists ff_h_gauss_composition_canonical_product_successor. ff_h_gauss_composition_canonical_product_successor + S (ff_s_gauss_composition_canonical_product) = S ((S (S ff_i_gauss_composition_canonical_product)) * ff_v_gauss_composition_canonical_product)) /\ exists ff_q_gauss_composition_canonical_product_successor. ff_u_gauss_composition_canonical_product = ff_q_gauss_composition_canonical_product_successor * S ((S (S ff_i_gauss_composition_canonical_product)) * ff_v_gauss_composition_canonical_product) + (ff_s_gauss_composition_canonical_product))) /\ ff_s_gauss_composition_canonical_product = ff_r_gauss_composition_canonical_product * ff_p_gauss_composition_canonical_product)))))) -> (exists ff_u_gauss_composition_magnitude_product ff_v_gauss_composition_magnitude_product. ((((exists ff_h_gauss_composition_magnitude_product_start. ff_h_gauss_composition_magnitude_product_start + S (1) = S ((S (0)) * ff_v_gauss_composition_magnitude_product)) /\ exists ff_q_gauss_composition_magnitude_product_start. ff_u_gauss_composition_magnitude_product = ff_q_gauss_composition_magnitude_product_start * S ((S (0)) * ff_v_gauss_composition_magnitude_product) + (1))) /\ ((((exists ff_h_gauss_composition_magnitude_product_terminal. ff_h_gauss_composition_magnitude_product_terminal + S (M) = S ((S (h)) * ff_v_gauss_composition_magnitude_product)) /\ exists ff_q_gauss_composition_magnitude_product_terminal. ff_u_gauss_composition_magnitude_product = ff_q_gauss_composition_magnitude_product_terminal * S ((S (h)) * ff_v_gauss_composition_magnitude_product) + (M))) /\ forall ff_i_gauss_composition_magnitude_product. (exists ff_lt_gauss_composition_magnitude_product_bound. ff_lt_gauss_composition_magnitude_product_bound + S ff_i_gauss_composition_magnitude_product = h) -> exists ff_p_gauss_composition_magnitude_product ff_r_gauss_composition_magnitude_product ff_s_gauss_composition_magnitude_product. ((((exists ff_h_gauss_composition_magnitude_product_factor. ff_h_gauss_composition_magnitude_product_factor + S (ff_p_gauss_composition_magnitude_product) = S ((S (ff_i_gauss_composition_magnitude_product)) * mc)) /\ exists ff_q_gauss_composition_magnitude_product_factor. mb = ff_q_gauss_composition_magnitude_product_factor * S ((S (ff_i_gauss_composition_magnitude_product)) * mc) + (ff_p_gauss_composition_magnitude_product))) /\ ((((exists ff_h_gauss_composition_magnitude_product_partial. ff_h_gauss_composition_magnitude_product_partial + S (ff_r_gauss_composition_magnitude_product) = S ((S (ff_i_gauss_composition_magnitude_product)) * ff_v_gauss_composition_magnitude_product)) /\ exists ff_q_gauss_composition_magnitude_product_partial. ff_u_gauss_composition_magnitude_product = ff_q_gauss_composition_magnitude_product_partial * S ((S (ff_i_gauss_composition_magnitude_product)) * ff_v_gauss_composition_magnitude_product) + (ff_r_gauss_composition_magnitude_product))) /\ ((((exists ff_h_gauss_composition_magnitude_product_successor. ff_h_gauss_composition_magnitude_product_successor + S (ff_s_gauss_composition_magnitude_product) = S ((S (S ff_i_gauss_composition_magnitude_product)) * ff_v_gauss_composition_magnitude_product)) /\ exists ff_q_gauss_composition_magnitude_product_successor. ff_u_gauss_composition_magnitude_product = ff_q_gauss_composition_magnitude_product_successor * S ((S (S ff_i_gauss_composition_magnitude_product)) * ff_v_gauss_composition_magnitude_product) + (ff_s_gauss_composition_magnitude_product))) /\ ff_s_gauss_composition_magnitude_product = ff_r_gauss_composition_magnitude_product * ff_p_gauss_composition_magnitude_product)))))) -> (exists ff_u_gauss_composition_sign_product ff_v_gauss_composition_sign_product. ((((exists ff_h_gauss_composition_sign_product_start. ff_h_gauss_composition_sign_product_start + S (1) = S ((S (0)) * ff_v_gauss_composition_sign_product)) /\ exists ff_q_gauss_composition_sign_product_start. ff_u_gauss_composition_sign_product = ff_q_gauss_composition_sign_product_start * S ((S (0)) * ff_v_gauss_composition_sign_product) + (1))) /\ ((((exists ff_h_gauss_composition_sign_product_terminal. ff_h_gauss_composition_sign_product_terminal + S (Sprod) = S ((S (h)) * ff_v_gauss_composition_sign_product)) /\ exists ff_q_gauss_composition_sign_product_terminal. ff_u_gauss_composition_sign_product = ff_q_gauss_composition_sign_product_terminal * S ((S (h)) * ff_v_gauss_composition_sign_product) + (Sprod))) /\ forall ff_i_gauss_composition_sign_product. (exists ff_lt_gauss_composition_sign_product_bound. ff_lt_gauss_composition_sign_product_bound + S ff_i_gauss_composition_sign_product = h) -> exists ff_p_gauss_composition_sign_product ff_r_gauss_composition_sign_product ff_s_gauss_composition_sign_product. ((((exists ff_h_gauss_composition_sign_product_factor. ff_h_gauss_composition_sign_product_factor + S (ff_p_gauss_composition_sign_product) = S ((S (ff_i_gauss_composition_sign_product)) * fc)) /\ exists ff_q_gauss_composition_sign_product_factor. fb = ff_q_gauss_composition_sign_product_factor * S ((S (ff_i_gauss_composition_sign_product)) * fc) + (ff_p_gauss_composition_sign_product))) /\ ((((exists ff_h_gauss_composition_sign_product_partial. ff_h_gauss_composition_sign_product_partial + S (ff_r_gauss_composition_sign_product) = S ((S (ff_i_gauss_composition_sign_product)) * ff_v_gauss_composition_sign_product)) /\ exists ff_q_gauss_composition_sign_product_partial. ff_u_gauss_composition_sign_product = ff_q_gauss_composition_sign_product_partial * S ((S (ff_i_gauss_composition_sign_product)) * ff_v_gauss_composition_sign_product) + (ff_r_gauss_composition_sign_product))) /\ ((((exists ff_h_gauss_composition_sign_product_successor. ff_h_gauss_composition_sign_product_successor + S (ff_s_gauss_composition_sign_product) = S ((S (S ff_i_gauss_composition_sign_product)) * ff_v_gauss_composition_sign_product)) /\ exists ff_q_gauss_composition_sign_product_successor. ff_u_gauss_composition_sign_product = ff_q_gauss_composition_sign_product_successor * S ((S (S ff_i_gauss_composition_sign_product)) * ff_v_gauss_composition_sign_product) + (ff_s_gauss_composition_sign_product))) /\ ff_s_gauss_composition_sign_product = ff_r_gauss_composition_sign_product * ff_p_gauss_composition_sign_product)))))) -> (exists ff_u_gauss_composition_target_product ff_v_gauss_composition_target_product. ((((exists ff_h_gauss_composition_target_product_start. ff_h_gauss_composition_target_product_start + S (1) = S ((S (0)) * ff_v_gauss_composition_target_product)) /\ exists ff_q_gauss_composition_target_product_start. ff_u_gauss_composition_target_product = ff_q_gauss_composition_target_product_start * S ((S (0)) * ff_v_gauss_composition_target_product) + (1))) /\ ((((exists ff_h_gauss_composition_target_product_terminal. ff_h_gauss_composition_target_product_terminal + S (T) = S ((S (h)) * ff_v_gauss_composition_target_product)) /\ exists ff_q_gauss_composition_target_product_terminal. ff_u_gauss_composition_target_product = ff_q_gauss_composition_target_product_terminal * S ((S (h)) * ff_v_gauss_composition_target_product) + (T))) /\ forall ff_i_gauss_composition_target_product. (exists ff_lt_gauss_composition_target_product_bound. ff_lt_gauss_composition_target_product_bound + S ff_i_gauss_composition_target_product = h) -> exists ff_p_gauss_composition_target_product ff_r_gauss_composition_target_product ff_s_gauss_composition_target_product. ((((exists ff_h_gauss_composition_target_product_factor. ff_h_gauss_composition_target_product_factor + S (ff_p_gauss_composition_target_product) = S ((S (ff_i_gauss_composition_target_product)) * tc)) /\ exists ff_q_gauss_composition_target_product_factor. tb = ff_q_gauss_composition_target_product_factor * S ((S (ff_i_gauss_composition_target_product)) * tc) + (ff_p_gauss_composition_target_product))) /\ ((((exists ff_h_gauss_composition_target_product_partial. ff_h_gauss_composition_target_product_partial + S (ff_r_gauss_composition_target_product) = S ((S (ff_i_gauss_composition_target_product)) * ff_v_gauss_composition_target_product)) /\ exists ff_q_gauss_composition_target_product_partial. ff_u_gauss_composition_target_product = ff_q_gauss_composition_target_product_partial * S ((S (ff_i_gauss_composition_target_product)) * ff_v_gauss_composition_target_product) + (ff_r_gauss_composition_target_product))) /\ ((((exists ff_h_gauss_composition_target_product_successor. ff_h_gauss_composition_target_product_successor + S (ff_s_gauss_composition_target_product) = S ((S (S ff_i_gauss_composition_target_product)) * ff_v_gauss_composition_target_product)) /\ exists ff_q_gauss_composition_target_product_successor. ff_u_gauss_composition_target_product = ff_q_gauss_composition_target_product_successor * S ((S (S ff_i_gauss_composition_target_product)) * ff_v_gauss_composition_target_product) + (ff_s_gauss_composition_target_product))) /\ ff_s_gauss_composition_target_product = ff_r_gauss_composition_target_product * ff_p_gauss_composition_target_product)))))) -> (exists ff_b_gauss_composition_multiplier_power ff_c_gauss_composition_multiplier_power. ((forall ff_i_gauss_composition_multiplier_power_repeat. (exists ff_lt_gauss_composition_multiplier_power_repeat_bound. ff_lt_gauss_composition_multiplier_power_repeat_bound + S ff_i_gauss_composition_multiplier_power_repeat = h) -> (((exists ff_h_gauss_composition_multiplier_power_repeat_decoded. ff_h_gauss_composition_multiplier_power_repeat_decoded + S (a) = S ((S (ff_i_gauss_composition_multiplier_power_repeat)) * ff_c_gauss_composition_multiplier_power)) /\ exists ff_q_gauss_composition_multiplier_power_repeat_decoded. ff_b_gauss_composition_multiplier_power = ff_q_gauss_composition_multiplier_power_repeat_decoded * S ((S (ff_i_gauss_composition_multiplier_power_repeat)) * ff_c_gauss_composition_multiplier_power) + (a)))) /\ (exists ff_u_gauss_composition_multiplier_power_product ff_v_gauss_composition_multiplier_power_product. ((((exists ff_h_gauss_composition_multiplier_power_product_start. ff_h_gauss_composition_multiplier_power_product_start + S (1) = S ((S (0)) * ff_v_gauss_composition_multiplier_power_product)) /\ exists ff_q_gauss_composition_multiplier_power_product_start. ff_u_gauss_composition_multiplier_power_product = ff_q_gauss_composition_multiplier_power_product_start * S ((S (0)) * ff_v_gauss_composition_multiplier_power_product) + (1))) /\ ((((exists ff_h_gauss_composition_multiplier_power_product_terminal. ff_h_gauss_composition_multiplier_power_product_terminal + S (A) = S ((S (h)) * ff_v_gauss_composition_multiplier_power_product)) /\ exists ff_q_gauss_composition_multiplier_power_product_terminal. ff_u_gauss_composition_multiplier_power_product = ff_q_gauss_composition_multiplier_power_product_terminal * S ((S (h)) * ff_v_gauss_composition_multiplier_power_product) + (A))) /\ forall ff_i_gauss_composition_multiplier_power_product. (exists ff_lt_gauss_composition_multiplier_power_product_bound. ff_lt_gauss_composition_multiplier_power_product_bound + S ff_i_gauss_composition_multiplier_power_product = h) -> exists ff_p_gauss_composition_multiplier_power_product ff_r_gauss_composition_multiplier_power_product ff_s_gauss_composition_multiplier_power_product. ((((exists ff_h_gauss_composition_multiplier_power_product_factor. ff_h_gauss_composition_multiplier_power_product_factor + S (ff_p_gauss_composition_multiplier_power_product) = S ((S (ff_i_gauss_composition_multiplier_power_product)) * ff_c_gauss_composition_multiplier_power)) /\ exists ff_q_gauss_composition_multiplier_power_product_factor. ff_b_gauss_composition_multiplier_power = ff_q_gauss_composition_multiplier_power_product_factor * S ((S (ff_i_gauss_composition_multiplier_power_product)) * ff_c_gauss_composition_multiplier_power) + (ff_p_gauss_composition_multiplier_power_product))) /\ ((((exists ff_h_gauss_composition_multiplier_power_product_partial. ff_h_gauss_composition_multiplier_power_product_partial + S (ff_r_gauss_composition_multiplier_power_product) = S ((S (ff_i_gauss_composition_multiplier_power_product)) * ff_v_gauss_composition_multiplier_power_product)) /\ exists ff_q_gauss_composition_multiplier_power_product_partial. ff_u_gauss_composition_multiplier_power_product = ff_q_gauss_composition_multiplier_power_product_partial * S ((S (ff_i_gauss_composition_multiplier_power_product)) * ff_v_gauss_composition_multiplier_power_product) + (ff_r_gauss_composition_multiplier_power_product))) /\ ((((exists ff_h_gauss_composition_multiplier_power_product_successor. ff_h_gauss_composition_multiplier_power_product_successor + S (ff_s_gauss_composition_multiplier_power_product) = S ((S (S ff_i_gauss_composition_multiplier_power_product)) * ff_v_gauss_composition_multiplier_power_product)) /\ exists ff_q_gauss_composition_multiplier_power_product_successor. ff_u_gauss_composition_multiplier_power_product = ff_q_gauss_composition_multiplier_power_product_successor * S ((S (S ff_i_gauss_composition_multiplier_power_product)) * ff_v_gauss_composition_multiplier_power_product) + (ff_s_gauss_composition_multiplier_power_product))) /\ ff_s_gauss_composition_multiplier_power_product = ff_r_gauss_composition_multiplier_power_product * ff_p_gauss_composition_multiplier_power_product)))))))) -> (exists ff_b_gauss_composition_sign_power ff_c_gauss_composition_sign_power. ((forall ff_i_gauss_composition_sign_power_repeat. (exists ff_lt_gauss_composition_sign_power_repeat_bound. ff_lt_gauss_composition_sign_power_repeat_bound + S ff_i_gauss_composition_sign_power_repeat = e) -> (((exists ff_h_gauss_composition_sign_power_repeat_decoded. ff_h_gauss_composition_sign_power_repeat_decoded + S (r) = S ((S (ff_i_gauss_composition_sign_power_repeat)) * ff_c_gauss_composition_sign_power)) /\ exists ff_q_gauss_composition_sign_power_repeat_decoded. ff_b_gauss_composition_sign_power = ff_q_gauss_composition_sign_power_repeat_decoded * S ((S (ff_i_gauss_composition_sign_power_repeat)) * ff_c_gauss_composition_sign_power) + (r)))) /\ (exists ff_u_gauss_composition_sign_power_product ff_v_gauss_composition_sign_power_product. ((((exists ff_h_gauss_composition_sign_power_product_start. ff_h_gauss_composition_sign_power_product_start + S (1) = S ((S (0)) * ff_v_gauss_composition_sign_power_product)) /\ exists ff_q_gauss_composition_sign_power_product_start. ff_u_gauss_composition_sign_power_product = ff_q_gauss_composition_sign_power_product_start * S ((S (0)) * ff_v_gauss_composition_sign_power_product) + (1))) /\ ((((exists ff_h_gauss_composition_sign_power_product_terminal. ff_h_gauss_composition_sign_power_product_terminal + S (R) = S ((S (e)) * ff_v_gauss_composition_sign_power_product)) /\ exists ff_q_gauss_composition_sign_power_product_terminal. ff_u_gauss_composition_sign_power_product = ff_q_gauss_composition_sign_power_product_terminal * S ((S (e)) * ff_v_gauss_composition_sign_power_product) + (R))) /\ forall ff_i_gauss_composition_sign_power_product. (exists ff_lt_gauss_composition_sign_power_product_bound. ff_lt_gauss_composition_sign_power_product_bound + S ff_i_gauss_composition_sign_power_product = e) -> exists ff_p_gauss_composition_sign_power_product ff_r_gauss_composition_sign_power_product ff_s_gauss_composition_sign_power_product. ((((exists ff_h_gauss_composition_sign_power_product_factor. ff_h_gauss_composition_sign_power_product_factor + S (ff_p_gauss_composition_sign_power_product) = S ((S (ff_i_gauss_composition_sign_power_product)) * ff_c_gauss_composition_sign_power)) /\ exists ff_q_gauss_composition_sign_power_product_factor. ff_b_gauss_composition_sign_power = ff_q_gauss_composition_sign_power_product_factor * S ((S (ff_i_gauss_composition_sign_power_product)) * ff_c_gauss_composition_sign_power) + (ff_p_gauss_composition_sign_power_product))) /\ ((((exists ff_h_gauss_composition_sign_power_product_partial. ff_h_gauss_composition_sign_power_product_partial + S (ff_r_gauss_composition_sign_power_product) = S ((S (ff_i_gauss_composition_sign_power_product)) * ff_v_gauss_composition_sign_power_product)) /\ exists ff_q_gauss_composition_sign_power_product_partial. ff_u_gauss_composition_sign_power_product = ff_q_gauss_composition_sign_power_product_partial * S ((S (ff_i_gauss_composition_sign_power_product)) * ff_v_gauss_composition_sign_power_product) + (ff_r_gauss_composition_sign_power_product))) /\ ((((exists ff_h_gauss_composition_sign_power_product_successor. ff_h_gauss_composition_sign_power_product_successor + S (ff_s_gauss_composition_sign_power_product) = S ((S (S ff_i_gauss_composition_sign_power_product)) * ff_v_gauss_composition_sign_power_product)) /\ exists ff_q_gauss_composition_sign_power_product_successor. ff_u_gauss_composition_sign_power_product = ff_q_gauss_composition_sign_power_product_successor * S ((S (S ff_i_gauss_composition_sign_power_product)) * ff_v_gauss_composition_sign_power_product) + (ff_s_gauss_composition_sign_power_product))) /\ ff_s_gauss_composition_sign_power_product = ff_r_gauss_composition_sign_power_product * ff_p_gauss_composition_sign_power_product)))))))) -> (exists gpc_left_product_balance gpc_right_product_balance. A * P + p * gpc_left_product_balance = P * R + p * gpc_right_product_balance)Structural proof guide
Generated structural guide
The four Gauss product layers compose to A*P == P*r^e modulo p.
Use the direct prerequisites gauss_signed_pointwise_mul_product_mod, gauss_magnitude_product_eq_half_range, beta_sign_factor_product_power, beta_product_pointwise_mul_exact as previously established PA formulas.
The proof proceeds by case analysis (2), intermediate claims (4).
Referenced ingredients
Proof neighborhood
Direct dependencies
PA007R gauss_signed_pointwise_mul_product_mod PA007Y gauss_magnitude_product_eq_half_range PA007I beta_sign_factor_product_power PA007N beta_product_pointwise_mul_exactDirect dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Linked names are exact direct references. This Alpha-v25 checked-use theorem is independently kernel-checked when replayed; it is not a Stable theorem.
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 (4)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–20
03Fix variables and assumptionsL21–30
04Fix variables and assumptionsL31–39
05Establish hscaledL40–49
Establish this local claim before using it. It is not an additional assumption.
- L40
have hscaled : exists gpc_left_scaled_target gpc_right_scaled_target. A * P + p * gpc_left_scaled_target = T + p * gpc_right_scaled_target - L41
specialize gauss_signed_pointwise_mul_product_mod p - L42
specialize gauss_signed_pointwise_mul_product_mod h - L43
specialize gauss_signed_pointwise_mul_product_mod r - L44
specialize gauss_signed_pointwise_mul_product_mod a - L45
specialize gauss_signed_pointwise_mul_product_mod b - L46
specialize gauss_signed_pointwise_mul_product_mod c - L47
specialize gauss_signed_pointwise_mul_product_mod mb - L48
specialize gauss_signed_pointwise_mul_product_mod mc - L49
specialize gauss_signed_pointwise_mul_product_mod sb
06Use earlier factsL50–59
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L50
specialize gauss_signed_pointwise_mul_product_mod sc - L51
specialize gauss_signed_pointwise_mul_product_mod fb - L52
specialize gauss_signed_pointwise_mul_product_mod fc - L53
specialize gauss_signed_pointwise_mul_product_mod tb - L54
specialize gauss_signed_pointwise_mul_product_mod tc - L55
specialize gauss_signed_pointwise_mul_product_mod P - L56
specialize gauss_signed_pointwise_mul_product_mod T - L57
specialize gauss_signed_pointwise_mul_product_mod A - L58
apply gauss_signed_pointwise_mul_product_mod - L59
exact hp
07Use earlier factsL60–66
08Establish hPML67–76
Establish this local claim before using it. It is not an additional assumption.
- L67
have hPM : P = M - L68
specialize gauss_magnitude_product_eq_half_range mb - L69
specialize gauss_magnitude_product_eq_half_range mc - L70
specialize gauss_magnitude_product_eq_half_range rb - L71
specialize gauss_magnitude_product_eq_half_range rc - L72
specialize gauss_magnitude_product_eq_half_range b - L73
specialize gauss_magnitude_product_eq_half_range c - L74
specialize gauss_magnitude_product_eq_half_range h - L75
specialize gauss_magnitude_product_eq_half_range P - L76
specialize gauss_magnitude_product_eq_half_range M
09Use earlier factsL77–83
10Establish hSRL84–93
Establish this local claim before using it. It is not an additional assumption.
- L84
have hSR : Sprod = R - L85
specialize beta_sign_factor_product_power sb - L86
specialize beta_sign_factor_product_power sc - L87
specialize beta_sign_factor_product_power fb - L88
specialize beta_sign_factor_product_power fc - L89
specialize beta_sign_factor_product_power r - L90
specialize beta_sign_factor_product_power h - L91
specialize beta_sign_factor_product_power e - L92
specialize beta_sign_factor_product_power Sprod - L93
specialize beta_sign_factor_product_power R
11Use earlier factsL94–98
12Establish hTMSL99–108
Establish this local claim before using it. It is not an additional assumption.
- L99
have hTMS : T = M * Sprod - L100
specialize beta_product_pointwise_mul_exact mb - L101
specialize beta_product_pointwise_mul_exact mc - L102
specialize beta_product_pointwise_mul_exact fb - L103
specialize beta_product_pointwise_mul_exact fc - L104
specialize beta_product_pointwise_mul_exact tb - L105
specialize beta_product_pointwise_mul_exact tc - L106
specialize beta_product_pointwise_mul_exact h - L107
specialize beta_product_pointwise_mul_exact M - L108
specialize beta_product_pointwise_mul_exact Sprod
13Use earlier factsL109–114
14Separate the logical casesL115–116
15Construct an explicit witnessL117–118
16Calculate and transport equalitiesL119–119
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L119
trans T + p * x1
17Use earlier factsL120–120
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L120
exact hscaled_witness_witness
18Calculate and transport equalitiesL121–122
19Use earlier factsL123–123
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L123
exact hTMS
20Calculate and transport equalitiesL124–125
21Use earlier factsL126–127
22Calculate and transport equalitiesL128–128
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L128
refl
Original exact command ledger · 128 lines
- 0001
intro p - 0002
intro h - 0003
intro r - 0004
intro a - 0005
intro b - 0006
intro c - 0007
intro mb - 0008
intro mc - 0009
intro rb - 0010
intro rc - 0011
intro sb - 0012
intro sc - 0013
intro fb - 0014
intro fc - 0015
intro tb - 0016
intro tc - 0017
intro e - 0018
intro P - 0019
intro M - 0020
intro Sprod - 0021
intro T - 0022
intro A - 0023
intro R - 0024
intro hp - 0025
intro hr - 0026
intro hsigned - 0027
intro hsigns - 0028
intro hpointwise - 0029
intro hmagnitude_range - 0030
intro hmagnitude_injective - 0031
intro hrecode - 0032
intro hhalf - 0033
intro hcount - 0034
intro hP - 0035
intro hM - 0036
intro hS - 0037
intro hT - 0038
intro hA - 0039
intro hR - 0040
have hscaled : exists gpc_left_scaled_target gpc_right_scaled_target. A * P + p * gpc_left_scaled_target = T + p * gpc_right_scaled_target - 0041
specialize gauss_signed_pointwise_mul_product_mod p - 0042
specialize gauss_signed_pointwise_mul_product_mod h - 0043
specialize gauss_signed_pointwise_mul_product_mod r - 0044
specialize gauss_signed_pointwise_mul_product_mod a - 0045
specialize gauss_signed_pointwise_mul_product_mod b - 0046
specialize gauss_signed_pointwise_mul_product_mod c - 0047
specialize gauss_signed_pointwise_mul_product_mod mb - 0048
specialize gauss_signed_pointwise_mul_product_mod mc - 0049
specialize gauss_signed_pointwise_mul_product_mod sb - 0050
specialize gauss_signed_pointwise_mul_product_mod sc - 0051
specialize gauss_signed_pointwise_mul_product_mod fb - 0052
specialize gauss_signed_pointwise_mul_product_mod fc - 0053
specialize gauss_signed_pointwise_mul_product_mod tb - 0054
specialize gauss_signed_pointwise_mul_product_mod tc - 0055
specialize gauss_signed_pointwise_mul_product_mod P - 0056
specialize gauss_signed_pointwise_mul_product_mod T - 0057
specialize gauss_signed_pointwise_mul_product_mod A - 0058
apply gauss_signed_pointwise_mul_product_mod - 0059
exact hp - 0060
exact hr - 0061
exact hsigned - 0062
exact hsigns - 0063
exact hpointwise - 0064
exact hP - 0065
exact hT - 0066
exact hA - 0067
have hPM : P = M - 0068
specialize gauss_magnitude_product_eq_half_range mb - 0069
specialize gauss_magnitude_product_eq_half_range mc - 0070
specialize gauss_magnitude_product_eq_half_range rb - 0071
specialize gauss_magnitude_product_eq_half_range rc - 0072
specialize gauss_magnitude_product_eq_half_range b - 0073
specialize gauss_magnitude_product_eq_half_range c - 0074
specialize gauss_magnitude_product_eq_half_range h - 0075
specialize gauss_magnitude_product_eq_half_range P - 0076
specialize gauss_magnitude_product_eq_half_range M - 0077
apply gauss_magnitude_product_eq_half_range - 0078
exact hmagnitude_range - 0079
exact hmagnitude_injective - 0080
exact hrecode - 0081
exact hhalf - 0082
exact hP - 0083
exact hM - 0084
have hSR : Sprod = R - 0085
specialize beta_sign_factor_product_power sb - 0086
specialize beta_sign_factor_product_power sc - 0087
specialize beta_sign_factor_product_power fb - 0088
specialize beta_sign_factor_product_power fc - 0089
specialize beta_sign_factor_product_power r - 0090
specialize beta_sign_factor_product_power h - 0091
specialize beta_sign_factor_product_power e - 0092
specialize beta_sign_factor_product_power Sprod - 0093
specialize beta_sign_factor_product_power R - 0094
apply beta_sign_factor_product_power - 0095
exact hcount - 0096
exact hsigns - 0097
exact hS - 0098
exact hR - 0099
have hTMS : T = M * Sprod - 0100
specialize beta_product_pointwise_mul_exact mb - 0101
specialize beta_product_pointwise_mul_exact mc - 0102
specialize beta_product_pointwise_mul_exact fb - 0103
specialize beta_product_pointwise_mul_exact fc - 0104
specialize beta_product_pointwise_mul_exact tb - 0105
specialize beta_product_pointwise_mul_exact tc - 0106
specialize beta_product_pointwise_mul_exact h - 0107
specialize beta_product_pointwise_mul_exact M - 0108
specialize beta_product_pointwise_mul_exact Sprod - 0109
specialize beta_product_pointwise_mul_exact T - 0110
apply beta_product_pointwise_mul_exact - 0111
exact hpointwise - 0112
exact hM - 0113
exact hS - 0114
exact hT - 0115
cases hscaled - 0116
cases hscaled_witness - 0117
exists x - 0118
exists x1 - 0119
trans T + p * x1 - 0120
exact hscaled_witness_witness - 0121
congr - 0122
trans M * Sprod - 0123
exact hTMS - 0124
congr - 0125
symm - 0126
exact hPM - 0127
exact hSR - 0128
refl