Exact expanded PA statement
forall l u. (exists bpi_value_search_witness. ((((~(bpi_value_search_witness = 1) /\ forall frm_prime_left_bpi_search_witness_interval_prime frm_prime_right_bpi_search_witness_interval_prime. bpi_value_search_witness = frm_prime_left_bpi_search_witness_interval_prime * frm_prime_right_bpi_search_witness_interval_prime -> frm_prime_left_bpi_search_witness_interval_prime = 1 \/ frm_prime_right_bpi_search_witness_interval_prime = 1)) /\ ((exists frm_gap_bpi_search_witness_interval_lower. frm_gap_bpi_search_witness_interval_lower + S l = bpi_value_search_witness) /\ (exists frm_weak_gap_bpi_search_witness_interval_upper. frm_weak_gap_bpi_search_witness_interval_upper + bpi_value_search_witness = u))))) \/ (forall bpi_value_search_exclusion. ((exists frm_gap_bpi_search_exclusion_lower. frm_gap_bpi_search_exclusion_lower + S l = bpi_value_search_exclusion) /\ (exists frm_weak_gap_bpi_search_exclusion_upper. frm_weak_gap_bpi_search_exclusion_upper + bpi_value_search_exclusion = u)) -> ~((~(bpi_value_search_exclusion = 1) /\ forall frm_prime_left_bpi_search_exclusion_prime frm_prime_right_bpi_search_exclusion_prime. bpi_value_search_exclusion = frm_prime_left_bpi_search_exclusion_prime * frm_prime_right_bpi_search_exclusion_prime -> frm_prime_left_bpi_search_exclusion_prime = 1 \/ frm_prime_right_bpi_search_exclusion_prime = 1)))Structural proof guide
Bounded search returns a prime witness or an explicit prime-free interval certificate.
Direct prerequisites: prime_nonzero, le_zero, prime_strictly_above_decidable, le_refl, le_succ, le_eq_or_lt, le_of_succ_le_succ. The authored body proceeds by structural induction (1), case analysis (9), intermediate claims (2), equality transport (3).
Proof neighborhood
Direct dependencies
BT003G prime_nonzero BT000Y le_zero BT00PR prime_strictly_above_decidable BT000E le_refl BT0018 le_succ BT001C le_eq_or_lt BT0017 le_of_succ_le_succDirect 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 l - 0002
induction u - 0003
right - 0004
intro p - 0005
intro hbounds - 0006
cases hbounds - 0007
intro hp - 0008
specialize le_zero p - 0009
have hzero : p = 0 - 0010
apply le_zero - 0011
exact hbounds_right - 0012
specialize prime_nonzero p - 0013
apply prime_nonzero - 0014
exact hp - 0015
exact hzero - 0016
specialize prime_strictly_above_decidable l - 0017
specialize prime_strictly_above_decidable (S u) - 0018
cases prime_strictly_above_decidable - 0019
left - 0020
exists S u - 0021
cases prime_strictly_above_decidable_left - 0022
split - 0023
exact prime_strictly_above_decidable_left_left - 0024
split - 0025
exact prime_strictly_above_decidable_left_right - 0026
specialize le_refl (S u) - 0027
exact le_refl - 0028
cases IH - 0029
left - 0030
cases IH_left - 0031
exists x - 0032
cases IH_left_witness - 0033
cases IH_left_witness_right - 0034
split - 0035
exact IH_left_witness_left - 0036
split - 0037
exact IH_left_witness_right_left - 0038
specialize le_succ x - 0039
specialize le_succ u - 0040
apply le_succ - 0041
exact IH_left_witness_right_right - 0042
right - 0043
intro p - 0044
intro hbounds - 0045
cases hbounds - 0046
intro hp - 0047
specialize le_eq_or_lt p - 0048
specialize le_eq_or_lt (S u) - 0049
have hsplit : p = S u \/ exists h. h + S p = S u - 0050
apply le_eq_or_lt - 0051
exact hbounds_right - 0052
cases hsplit - 0053
apply prime_strictly_above_decidable_right - 0054
split - 0055
rewrite hsplit_left at hp - 0056
rewrite hsplit_left at hp - 0057
exact hp - 0058
rewrite hsplit_left at hbounds_left - 0059
exact hbounds_left - 0060
specialize IH_right p - 0061
apply IH_right - 0062
split - 0063
exact hbounds_left - 0064
specialize le_of_succ_le_succ p - 0065
specialize le_of_succ_le_succ u - 0066
apply le_of_succ_le_succ - 0067
exact hsplit_right - 0068
exact hp