Exact expanded PA statement
forall b c m. (forall bpr_index_bpfpe_before. (exists bpr_gap_bpfpe_before_bound. bpr_gap_bpfpe_before_bound + S (bpr_index_bpfpe_before) = m) -> exists bpr_value_bpfpe_before. ((((exists bpr_height_bpfpe_before_decoded. bpr_height_bpfpe_before_decoded + S (bpr_value_bpfpe_before) = S ((S (bpr_index_bpfpe_before)) * c)) /\ exists bpr_quotient_bpfpe_before_decoded. b = bpr_quotient_bpfpe_before_decoded * S ((S (bpr_index_bpfpe_before)) * c) + (bpr_value_bpfpe_before))) /\ (((((~(S (bpr_index_bpfpe_before) = 1) /\ forall bpr_left_bpfpe_before_choice_prime bpr_right_bpfpe_before_choice_prime. S (bpr_index_bpfpe_before) = bpr_left_bpfpe_before_choice_prime * bpr_right_bpfpe_before_choice_prime -> bpr_left_bpfpe_before_choice_prime = 1 \/ bpr_right_bpfpe_before_choice_prime = 1)) /\ bpr_value_bpfpe_before = S (bpr_index_bpfpe_before)) \/ (~((~(S (bpr_index_bpfpe_before) = 1) /\ forall bpr_left_bpfpe_before_choice_prime bpr_right_bpfpe_before_choice_prime. S (bpr_index_bpfpe_before) = bpr_left_bpfpe_before_choice_prime * bpr_right_bpfpe_before_choice_prime -> bpr_left_bpfpe_before_choice_prime = 1 \/ bpr_right_bpfpe_before_choice_prime = 1)) /\ bpr_value_bpfpe_before = 1))))) -> exists d e. (forall bpr_index_bpfpe_after. (exists bpr_gap_bpfpe_after_bound. bpr_gap_bpfpe_after_bound + S (bpr_index_bpfpe_after) = S m) -> exists bpr_value_bpfpe_after. ((((exists bpr_height_bpfpe_after_decoded. bpr_height_bpfpe_after_decoded + S (bpr_value_bpfpe_after) = S ((S (bpr_index_bpfpe_after)) * e)) /\ exists bpr_quotient_bpfpe_after_decoded. d = bpr_quotient_bpfpe_after_decoded * S ((S (bpr_index_bpfpe_after)) * e) + (bpr_value_bpfpe_after))) /\ (((((~(S (bpr_index_bpfpe_after) = 1) /\ forall bpr_left_bpfpe_after_choice_prime bpr_right_bpfpe_after_choice_prime. S (bpr_index_bpfpe_after) = bpr_left_bpfpe_after_choice_prime * bpr_right_bpfpe_after_choice_prime -> bpr_left_bpfpe_after_choice_prime = 1 \/ bpr_right_bpfpe_after_choice_prime = 1)) /\ bpr_value_bpfpe_after = S (bpr_index_bpfpe_after)) \/ (~((~(S (bpr_index_bpfpe_after) = 1) /\ forall bpr_left_bpfpe_after_choice_prime bpr_right_bpfpe_after_choice_prime. S (bpr_index_bpfpe_after) = bpr_left_bpfpe_after_choice_prime * bpr_right_bpfpe_after_choice_prime -> bpr_left_bpfpe_after_choice_prime = 1 \/ bpr_right_bpfpe_after_choice_prime = 1)) /\ bpr_value_bpfpe_after = 1)))))Structural proof guide
Append one selector factor while preserving the previous prefix.
Direct prerequisites: primorial_factor_choice_exists, beta_prefix_extend, finite_lt_succ_eq_or_lt. The authored body proceeds by case analysis (7), intermediate claims (4), equality transport (7).
Proof neighborhood
Direct dependencies
Direct 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 b - 0002
intro c - 0003
intro m - 0004
intro hprefix - 0005
have hchoice : exists x. (((((~(S (m) = 1) /\ forall bpr_left_bpfpe_last_choice_prime bpr_right_bpfpe_last_choice_prime. S (m) = bpr_left_bpfpe_last_choice_prime * bpr_right_bpfpe_last_choice_prime -> bpr_left_bpfpe_last_choice_prime = 1 \/ bpr_right_bpfpe_last_choice_prime = 1)) /\ x = S (m)) \/ (~((~(S (m) = 1) /\ forall bpr_left_bpfpe_last_choice_prime bpr_right_bpfpe_last_choice_prime. S (m) = bpr_left_bpfpe_last_choice_prime * bpr_right_bpfpe_last_choice_prime -> bpr_left_bpfpe_last_choice_prime = 1 \/ bpr_right_bpfpe_last_choice_prime = 1)) /\ x = 1))) - 0006
apply primorial_factor_choice_exists - 0007
cases hchoice - 0008
have hext : exists d e. ((((exists bpr_height_bpfpe_append. bpr_height_bpfpe_append + S (x) = S ((S (m)) * e)) /\ exists bpr_quotient_bpfpe_append. d = bpr_quotient_bpfpe_append * S ((S (m)) * e) + (x))) /\ forall i a. (exists bpr_gap_bpfpe_old_bound. bpr_gap_bpfpe_old_bound + S (i) = m) -> (((exists bpr_height_bpfpe_old. bpr_height_bpfpe_old + S (a) = S ((S (i)) * c)) /\ exists bpr_quotient_bpfpe_old. b = bpr_quotient_bpfpe_old * S ((S (i)) * c) + (a))) -> (((exists bpr_height_bpfpe_new. bpr_height_bpfpe_new + S (a) = S ((S (i)) * e)) /\ exists bpr_quotient_bpfpe_new. d = bpr_quotient_bpfpe_new * S ((S (i)) * e) + (a)))) - 0009
apply beta_prefix_extend - 0010
cases hext - 0011
cases hext_witness - 0012
cases hext_witness_witness - 0013
exists x1 - 0014
exists x2 - 0015
intro i - 0016
intro hi - 0017
have hsplit : i = m \/ exists gap. gap + S i = m - 0018
apply finite_lt_succ_eq_or_lt - 0019
exact hi - 0020
cases hsplit - 0021
rewrite hsplit_left - 0022
rewrite hsplit_left - 0023
rewrite hsplit_left - 0024
rewrite hsplit_left - 0025
rewrite hsplit_left - 0026
rewrite hsplit_left - 0027
rewrite hsplit_left - 0028
exists x - 0029
split - 0030
exact hext_witness_witness_left - 0031
exact hchoice_witness - 0032
have hold : exists a. ((((exists bpr_height_bpfpe_hold_decoded. bpr_height_bpfpe_hold_decoded + S (a) = S ((S (i)) * c)) /\ exists bpr_quotient_bpfpe_hold_decoded. b = bpr_quotient_bpfpe_hold_decoded * S ((S (i)) * c) + (a))) /\ (((((~(S (i) = 1) /\ forall bpr_left_bpfpe_hold_choice_prime bpr_right_bpfpe_hold_choice_prime. S (i) = bpr_left_bpfpe_hold_choice_prime * bpr_right_bpfpe_hold_choice_prime -> bpr_left_bpfpe_hold_choice_prime = 1 \/ bpr_right_bpfpe_hold_choice_prime = 1)) /\ a = S (i)) \/ (~((~(S (i) = 1) /\ forall bpr_left_bpfpe_hold_choice_prime bpr_right_bpfpe_hold_choice_prime. S (i) = bpr_left_bpfpe_hold_choice_prime * bpr_right_bpfpe_hold_choice_prime -> bpr_left_bpfpe_hold_choice_prime = 1 \/ bpr_right_bpfpe_hold_choice_prime = 1)) /\ a = 1)))) - 0033
apply hprefix - 0034
exact hsplit_right - 0035
cases hold - 0036
cases hold_witness - 0037
exists x3 - 0038
split - 0039
apply hext_witness_witness_right - 0040
exact hsplit_right - 0041
exact hold_witness_left - 0042
exact hold_witness_right