Exact expanded PA statement
forall a b c l. (forall bpr_index_bpipc_source. (exists bpr_gap_bpipc_source_bound. bpr_gap_bpipc_source_bound + S (bpr_index_bpipc_source) = l) -> exists bpr_value_bpipc_source. ((((exists bpr_height_bpipc_source_decoded. bpr_height_bpipc_source_decoded + S (bpr_value_bpipc_source) = S ((S (bpr_index_bpipc_source)) * c)) /\ exists bpr_quotient_bpipc_source_decoded. b = bpr_quotient_bpipc_source_decoded * S ((S (bpr_index_bpipc_source)) * c) + (bpr_value_bpipc_source))) /\ (((((~(S (a + bpr_index_bpipc_source) = 1) /\ forall bpr_left_bpipc_source_choice_prime bpr_right_bpipc_source_choice_prime. S (a + bpr_index_bpipc_source) = bpr_left_bpipc_source_choice_prime * bpr_right_bpipc_source_choice_prime -> bpr_left_bpipc_source_choice_prime = 1 \/ bpr_right_bpipc_source_choice_prime = 1)) /\ bpr_value_bpipc_source = S (a + bpr_index_bpipc_source)) \/ (~((~(S (a + bpr_index_bpipc_source) = 1) /\ forall bpr_left_bpipc_source_choice_prime bpr_right_bpipc_source_choice_prime. S (a + bpr_index_bpipc_source) = bpr_left_bpipc_source_choice_prime * bpr_right_bpipc_source_choice_prime -> bpr_left_bpipc_source_choice_prime = 1 \/ bpr_right_bpipc_source_choice_prime = 1)) /\ bpr_value_bpipc_source = 1))))) -> (forall bpr_left_index_bpipc_result bpr_right_index_bpipc_result bpr_left_value_bpipc_result bpr_right_value_bpipc_result. (exists bpr_gap_bpipc_result_left_bound. bpr_gap_bpipc_result_left_bound + S (bpr_left_index_bpipc_result) = l) -> (exists bpr_gap_bpipc_result_right_bound. bpr_gap_bpipc_result_right_bound + S (bpr_right_index_bpipc_result) = l) -> (((exists bpr_height_bpipc_result_left_at. bpr_height_bpipc_result_left_at + S (bpr_left_value_bpipc_result) = S ((S (bpr_left_index_bpipc_result)) * c)) /\ exists bpr_quotient_bpipc_result_left_at. b = bpr_quotient_bpipc_result_left_at * S ((S (bpr_left_index_bpipc_result)) * c) + (bpr_left_value_bpipc_result))) -> (((exists bpr_height_bpipc_result_right_at. bpr_height_bpipc_result_right_at + S (bpr_right_value_bpipc_result) = S ((S (bpr_right_index_bpipc_result)) * c)) /\ exists bpr_quotient_bpipc_result_right_at. b = bpr_quotient_bpipc_result_right_at * S ((S (bpr_right_index_bpipc_result)) * c) + (bpr_right_value_bpipc_result))) -> ~(bpr_left_index_bpipc_result = bpr_right_index_bpipc_result) -> (forall bpr_coprime_divisor_bpipc_result_coprime. (exists bpr_coprime_left_factor_bpipc_result_coprime. bpr_left_value_bpipc_result = bpr_coprime_divisor_bpipc_result_coprime * bpr_coprime_left_factor_bpipc_result_coprime) -> (exists bpr_coprime_right_factor_bpipc_result_coprime. bpr_right_value_bpipc_result = bpr_coprime_divisor_bpipc_result_coprime * bpr_coprime_right_factor_bpipc_result_coprime) -> bpr_coprime_divisor_bpipc_result_coprime = 1))Structural proof guide
Distinct positions in an interval decode coprime selector factors.
Direct prerequisites: beta_at_unique, add_left_cancel, distinct_primes_coprime, coprime_one_left, coprime_one_right. The authored body proceeds by case analysis (15), intermediate claims (10), equality transport (7).
Proof neighborhood
Direct dependencies
BT0042 beta_at_unique BT000V add_left_cancel BT008S distinct_primes_coprime BT002Y coprime_one_left BT002X coprime_one_rightDirect dependents
Formal native tactic body
Dependencies are hypotheses of this body receipt. The focused endpoint audits separately check the complete empty-context certificates.
- 0001
intro a - 0002
intro b - 0003
intro c - 0004
intro l - 0005
intro hprefix - 0006
intro i - 0007
intro j - 0008
intro p - 0009
intro q - 0010
intro hi - 0011
intro hj - 0012
intro hp - 0013
intro hq - 0014
intro hij - 0015
have hleft : exists x. (((exists bpr_height_bpipc_left_entry. bpr_height_bpipc_left_entry + S (x) = S ((S (i)) * c)) /\ exists bpr_quotient_bpipc_left_entry. b = bpr_quotient_bpipc_left_entry * S ((S (i)) * c) + (x))) /\ (((((~(S (a + i) = 1) /\ forall bpr_left_bpipc_left_choice_prime bpr_right_bpipc_left_choice_prime. S (a + i) = bpr_left_bpipc_left_choice_prime * bpr_right_bpipc_left_choice_prime -> bpr_left_bpipc_left_choice_prime = 1 \/ bpr_right_bpipc_left_choice_prime = 1)) /\ x = S (a + i)) \/ (~((~(S (a + i) = 1) /\ forall bpr_left_bpipc_left_choice_prime bpr_right_bpipc_left_choice_prime. S (a + i) = bpr_left_bpipc_left_choice_prime * bpr_right_bpipc_left_choice_prime -> bpr_left_bpipc_left_choice_prime = 1 \/ bpr_right_bpipc_left_choice_prime = 1)) /\ x = 1))) - 0016
apply hprefix - 0017
exact hi - 0018
cases hleft - 0019
cases hleft_witness - 0020
have hright : exists x1. (((exists bpr_height_bpipc_right_entry. bpr_height_bpipc_right_entry + S (x1) = S ((S (j)) * c)) /\ exists bpr_quotient_bpipc_right_entry. b = bpr_quotient_bpipc_right_entry * S ((S (j)) * c) + (x1))) /\ (((((~(S (a + j) = 1) /\ forall bpr_left_bpipc_right_choice_prime bpr_right_bpipc_right_choice_prime. S (a + j) = bpr_left_bpipc_right_choice_prime * bpr_right_bpipc_right_choice_prime -> bpr_left_bpipc_right_choice_prime = 1 \/ bpr_right_bpipc_right_choice_prime = 1)) /\ x1 = S (a + j)) \/ (~((~(S (a + j) = 1) /\ forall bpr_left_bpipc_right_choice_prime bpr_right_bpipc_right_choice_prime. S (a + j) = bpr_left_bpipc_right_choice_prime * bpr_right_bpipc_right_choice_prime -> bpr_left_bpipc_right_choice_prime = 1 \/ bpr_right_bpipc_right_choice_prime = 1)) /\ x1 = 1))) - 0021
apply hprefix - 0022
exact hj - 0023
cases hright - 0024
cases hright_witness - 0025
have hxp : x = p - 0026
specialize beta_at_unique b - 0027
specialize beta_at_unique c - 0028
specialize beta_at_unique i - 0029
specialize beta_at_unique x - 0030
specialize beta_at_unique p - 0031
apply beta_at_unique - 0032
exact hleft_witness_left - 0033
exact hp - 0034
have hxq : x1 = q - 0035
specialize beta_at_unique b - 0036
specialize beta_at_unique c - 0037
specialize beta_at_unique j - 0038
specialize beta_at_unique x1 - 0039
specialize beta_at_unique q - 0040
apply beta_at_unique - 0041
exact hright_witness_left - 0042
exact hq - 0043
cases hleft_witness_right - 0044
cases hright_witness_right - 0045
cases hleft_witness_right_left - 0046
cases hright_witness_right_left - 0047
have hp_candidate : p = S (a + i) - 0048
trans x - 0049
symm - 0050
exact hxp - 0051
exact hleft_witness_right_left_right - 0052
have hq_candidate : q = S (a + j) - 0053
trans x1 - 0054
symm - 0055
exact hxq - 0056
exact hright_witness_right_left_right - 0057
specialize distinct_primes_coprime p - 0058
specialize distinct_primes_coprime q - 0059
apply distinct_primes_coprime - 0060
rewrite hp_candidate - 0061
rewrite hp_candidate - 0062
exact hleft_witness_right_left_left - 0063
rewrite hq_candidate - 0064
rewrite hq_candidate - 0065
exact hright_witness_right_left_left - 0066
intro hpq - 0067
apply hij - 0068
specialize add_left_cancel a - 0069
specialize add_left_cancel i - 0070
specialize add_left_cancel j - 0071
apply add_left_cancel - 0072
apply PA2 - 0073
trans p - 0074
symm - 0075
exact hp_candidate - 0076
trans q - 0077
exact hpq - 0078
exact hq_candidate - 0079
cases hleft_witness_right_left - 0080
cases hright_witness_right_right - 0081
have hp_candidate : p = S (a + i) - 0082
trans x - 0083
symm - 0084
exact hxp - 0085
exact hleft_witness_right_left_right - 0086
have hq_one : q = 1 - 0087
trans x1 - 0088
symm - 0089
exact hxq - 0090
exact hright_witness_right_right_right - 0091
rewrite hq_one - 0092
specialize coprime_one_right p - 0093
exact coprime_one_right - 0094
cases hright_witness_right - 0095
cases hleft_witness_right_right - 0096
cases hright_witness_right_left - 0097
have hp_one : p = 1 - 0098
trans x - 0099
symm - 0100
exact hxp - 0101
exact hleft_witness_right_right_right - 0102
rewrite hp_one - 0103
specialize coprime_one_left q - 0104
exact coprime_one_left - 0105
cases hleft_witness_right_right - 0106
cases hright_witness_right_right - 0107
have hp_one : p = 1 - 0108
trans x - 0109
symm - 0110
exact hxp - 0111
exact hleft_witness_right_right_right - 0112
rewrite hp_one - 0113
specialize coprime_one_left q - 0114
exact coprime_one_left