Exact expanded PA statement
forall n s. (exists bcf_lt_gap_b5rbfstl_positive. bcf_lt_gap_b5rbfstl_positive + S (2) = n) -> (((exists bcs_sqrt_lower_gap_b5rbfstl_floor. bcs_sqrt_lower_gap_b5rbfstl_floor + (s) * (s) = (n + n)) /\ exists bcs_sqrt_upper_gap_b5rbfstl_floor. bcs_sqrt_upper_gap_b5rbfstl_floor + S (n + n) = S (s) * S (s))) -> (exists bcf_le_gap_b5rbfstl_result. bcf_le_gap_b5rbfstl_result + (2) = s)Structural proof guide
The floor root of twice a natural above two is at least two.
Direct prerequisites: le_or_lt, le_refl, le_succ, lt_of_lt_of_le, lt_three_cases, floor_sqrt_strict_upper_bound, two_lt_double_lower_six, le_trans, lt_not_le, lt_irrefl_expanded. The authored body proceeds by case analysis (3), intermediate claims (10), equality transport (5), closed numeral normalization (2).
Proof neighborhood
Direct dependencies
BT001G le_or_lt BT000E le_refl BT0018 le_succ BT001D lt_of_lt_of_le BT0097 lt_three_cases BT00R7 floor_sqrt_strict_upper_bound BT010A two_lt_double_lower_six BT000F le_trans BT001I lt_not_le BT001B lt_irrefl_expandedDirect 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 hcases : (exists bcf_le_gap_b5rbfstl_result. bcf_le_gap_b5rbfstl_result + (2) = s) \/ (exists bcf_lt_gap_b5rbfstl_reverse. bcf_lt_gap_b5rbfstl_reverse + S (s) = 2) - 0006
specialize le_or_lt 2 - 0007
specialize le_or_lt s - 0008
exact le_or_lt - 0009
cases hcases - 0010
exact hcases_left - 0011
have htwo_three : exists k. k + 2 = 3 - 0012
specialize le_refl 2 - 0013
specialize le_succ 2 - 0014
specialize le_succ 2 - 0015
apply le_succ - 0016
exact le_refl - 0017
have hthree : exists bcf_lt_gap_b5rbfstl_three. bcf_lt_gap_b5rbfstl_three + S (s) = 3 - 0018
specialize lt_of_lt_of_le s - 0019
specialize lt_of_lt_of_le 2 - 0020
specialize lt_of_lt_of_le 3 - 0021
apply lt_of_lt_of_le - 0022
exact hcases_right - 0023
exact htwo_three - 0024
have hsmall_cases : s = 0 \/ s = 1 \/ s = 2 - 0025
specialize lt_three_cases s - 0026
apply lt_three_cases - 0027
exact hthree - 0028
have hupper : exists bcf_lt_gap_b5rbfstl_upper. bcf_lt_gap_b5rbfstl_upper + S (n + n) = S s * S s - 0029
specialize floor_sqrt_strict_upper_bound (n + n) - 0030
specialize floor_sqrt_strict_upper_bound s - 0031
apply floor_sqrt_strict_upper_bound - 0032
exact hfloor - 0033
have hlower : exists bcf_le_gap_b5rbfstl_lower_six. bcf_le_gap_b5rbfstl_lower_six + (3 + 3) = n + n - 0034
specialize two_lt_double_lower_six n - 0035
apply two_lt_double_lower_six - 0036
exact hpositive - 0037
cases hsmall_cases - 0038
cases hsmall_cases_left - 0039
rewrite hsmall_cases_left_left at hupper - 0040
rewrite hsmall_cases_left_left at hupper - 0041
have hsmall : exists bcf_le_gap_b5rbfstl_zero_small. bcf_le_gap_b5rbfstl_zero_small + (S 0 * S 0) = 3 + 3 - 0042
exists 5 - 0043
norm_num - 0044
have hreverse : exists bcf_le_gap_b5rbfstl_zero_reverse. bcf_le_gap_b5rbfstl_zero_reverse + (S 0 * S 0) = n + n - 0045
specialize le_trans (S 0 * S 0) - 0046
specialize le_trans (3 + 3) - 0047
specialize le_trans (n + n) - 0048
apply le_trans - 0049
exact hsmall - 0050
exact hlower - 0051
exfalso - 0052
specialize lt_not_le (n + n) - 0053
specialize lt_not_le (S 0 * S 0) - 0054
apply lt_not_le - 0055
exact hupper - 0056
exact hreverse - 0057
rewrite hsmall_cases_left_right at hupper - 0058
rewrite hsmall_cases_left_right at hupper - 0059
have hsmall : exists bcf_le_gap_b5rbfstl_one_small. bcf_le_gap_b5rbfstl_one_small + (S 1 * S 1) = 3 + 3 - 0060
exists 2 - 0061
norm_num - 0062
have hreverse : exists bcf_le_gap_b5rbfstl_one_reverse. bcf_le_gap_b5rbfstl_one_reverse + (S 1 * S 1) = n + n - 0063
specialize le_trans (S 1 * S 1) - 0064
specialize le_trans (3 + 3) - 0065
specialize le_trans (n + n) - 0066
apply le_trans - 0067
exact hsmall - 0068
exact hlower - 0069
exfalso - 0070
specialize lt_not_le (n + n) - 0071
specialize lt_not_le (S 1 * S 1) - 0072
apply lt_not_le - 0073
exact hupper - 0074
exact hreverse - 0075
rewrite hsmall_cases_right at hcases_right - 0076
exfalso - 0077
specialize lt_irrefl_expanded 2 - 0078
apply lt_irrefl_expanded - 0079
exact hcases_right