Exact expanded PA statement
forall n s. (exists bcf_lt_gap_b5rbfstmd_positive. bcf_lt_gap_b5rbfstmd_positive + S (2) = n) -> (((exists bcs_sqrt_lower_gap_b5rbfstmd_floor. bcs_sqrt_lower_gap_b5rbfstmd_floor + (s) * (s) = (n + n)) /\ exists bcs_sqrt_upper_gap_b5rbfstmd_floor. bcs_sqrt_upper_gap_b5rbfstmd_floor + S (n + n) = S (s) * S (s))) -> (exists bcf_le_gap_b5rbfstmd_result. bcf_le_gap_b5rbfstmd_result + (3 * s) = n + n)Structural proof guide
Three times the floor root lies below the doubled input.
Direct prerequisites: two_lt_double_lower_six, floor_sqrt_two_le_of_two_lt, three_mul_le_square_of_three_le, le_eq_or_lt, floor_sqrt_lower_bound, le_trans. The authored body proceeds by case analysis (1), intermediate claims (7), equality transport (2), closed numeral normalization (1).
Proof neighborhood
Direct dependencies
BT010A two_lt_double_lower_six BT010B floor_sqrt_two_le_of_two_lt BT010C three_mul_le_square_of_three_le BT001C le_eq_or_lt BT00R6 floor_sqrt_lower_bound BT000F le_transDirect 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 n - 0002
intro s - 0003
intro hpositive - 0004
intro hfloor - 0005
have htwo : exists bcf_le_gap_b5rbfstmd_two. bcf_le_gap_b5rbfstmd_two + (2) = s - 0006
specialize floor_sqrt_two_le_of_two_lt n - 0007
specialize floor_sqrt_two_le_of_two_lt s - 0008
apply floor_sqrt_two_le_of_two_lt - 0009
exact hpositive - 0010
exact hfloor - 0011
have hsplit : 2 = s \/ (exists bcf_lt_gap_b5rbfstmd_strict. bcf_lt_gap_b5rbfstmd_strict + S (2) = s) - 0012
specialize le_eq_or_lt 2 - 0013
specialize le_eq_or_lt s - 0014
apply le_eq_or_lt - 0015
exact htwo - 0016
cases hsplit - 0017
have hlower : exists bcf_le_gap_b5rbfstmd_lower_six. bcf_le_gap_b5rbfstmd_lower_six + (3 + 3) = n + n - 0018
specialize two_lt_double_lower_six n - 0019
apply two_lt_double_lower_six - 0020
exact hpositive - 0021
rewrite <- hsplit_left - 0022
have hcalc : 3 * 2 = 3 + 3 - 0023
norm_num - 0024
rewrite hcalc - 0025
exact hlower - 0026
have hthree : exists bcf_le_gap_b5rbfstmd_three. bcf_le_gap_b5rbfstmd_three + (3) = s - 0027
exact hsplit_right - 0028
have hsquare : exists bcf_le_gap_b5rbfstmd_square. bcf_le_gap_b5rbfstmd_square + (3 * s) = s * s - 0029
specialize three_mul_le_square_of_three_le s - 0030
apply three_mul_le_square_of_three_le - 0031
exact hthree - 0032
have hfloor_lower : exists bcf_le_gap_b5rbfstmd_floor_lower. bcf_le_gap_b5rbfstmd_floor_lower + (s * s) = n + n - 0033
specialize floor_sqrt_lower_bound (n + n) - 0034
specialize floor_sqrt_lower_bound s - 0035
apply floor_sqrt_lower_bound - 0036
exact hfloor - 0037
specialize le_trans (3 * s) - 0038
specialize le_trans (s * s) - 0039
specialize le_trans (n + n) - 0040
apply le_trans - 0041
exact hsquare - 0042
exact hfloor_lower