Exact expanded PA statement
forall d N q r s. (((N) = (d) * (q) + (r) /\ (exists bcf_lt_gap_b5rbdqlosl_division_bound. bcf_lt_gap_b5rbdqlosl_division_bound + S (r) = d))) -> (exists bcf_le_gap_b5rbdqlosl_scaled. bcf_le_gap_b5rbdqlosl_scaled + (d * s) = N) -> (exists bcf_le_gap_b5rbdqlosl_result. bcf_le_gap_b5rbdqlosl_result + (s) = q)Structural proof guide
A scaled lower bound forces the division quotient above its scale index.
Direct prerequisites: division_block_upper, le_or_lt, mul_le_mul_left, lt_of_lt_of_le, lt_not_le. The authored body proceeds by case analysis (2), intermediate claims (5), equality transport (1).
Proof neighborhood
Direct dependencies
BT001R division_block_upper BT001G le_or_lt BT001L mul_le_mul_left BT001D lt_of_lt_of_le BT001I lt_not_leDirect 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 d - 0002
intro N - 0003
intro q - 0004
intro r - 0005
intro s - 0006
intro hdivision - 0007
intro hscaled - 0008
cases hdivision - 0009
have hcases : (exists bcf_le_gap_b5rbdqlosl_result. bcf_le_gap_b5rbdqlosl_result + (s) = q) \/ (exists bcf_lt_gap_b5rbdqlosl_reverse. bcf_lt_gap_b5rbdqlosl_reverse + S (q) = s) - 0010
specialize le_or_lt s - 0011
specialize le_or_lt q - 0012
exact le_or_lt - 0013
cases hcases - 0014
exact hcases_left - 0015
have hupper : exists bcf_lt_gap_b5rbdqlosl_upper. bcf_lt_gap_b5rbdqlosl_upper + S (N) = d * S q - 0016
rewrite hdivision_left - 0017
specialize division_block_upper d - 0018
specialize division_block_upper q - 0019
specialize division_block_upper r - 0020
apply division_block_upper - 0021
exact hdivision_right - 0022
have hreverse : exists bcf_le_gap_b5rbdqlosl_reverse_le. bcf_le_gap_b5rbdqlosl_reverse_le + (S q) = s - 0023
exact hcases_right - 0024
have hproduct : exists bcf_le_gap_b5rbdqlosl_product_le. bcf_le_gap_b5rbdqlosl_product_le + (d * S q) = d * s - 0025
specialize mul_le_mul_left (S q) - 0026
specialize mul_le_mul_left s - 0027
specialize mul_le_mul_left d - 0028
apply mul_le_mul_left - 0029
exact hreverse - 0030
have hstrict : exists bcf_lt_gap_b5rbdqlosl_contradiction. bcf_lt_gap_b5rbdqlosl_contradiction + S (N) = d * s - 0031
specialize lt_of_lt_of_le N - 0032
specialize lt_of_lt_of_le (d * S q) - 0033
specialize lt_of_lt_of_le (d * s) - 0034
apply lt_of_lt_of_le - 0035
exact hupper - 0036
exact hproduct - 0037
exfalso - 0038
specialize lt_not_le N - 0039
specialize lt_not_le (d * s) - 0040
apply lt_not_le - 0041
exact hstrict - 0042
exact hscaled