Exact expanded PA statement
forall d n. (exists bcf_le_gap_bdqob_lower. bcf_le_gap_bdqob_lower + (d) = n) -> (exists bcf_lt_gap_bdqob_upper. bcf_lt_gap_bdqob_upper + S (n) = d + d) -> exists r. (((n) = (d) * (1) + (r) /\ (exists bcf_lt_gap_bdqob_result_bound. bcf_lt_gap_bdqob_result_bound + S (r) = d)))Structural proof guide
Bounds between one and two divisors force quotient one.
Direct prerequisites: add_comm, mul_one, add_lt_cancel_left. The authored body proceeds by case analysis (1), intermediate claims (2), equality transport (2).
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 d - 0002
intro n - 0003
intro hlower - 0004
intro hupper - 0005
cases hlower - 0006
have hsum : d + x = n - 0007
trans x + d - 0008
apply add_comm - 0009
exact hlower_witness - 0010
have hremainder : exists bcf_lt_gap_bdqob_remainder. bcf_lt_gap_bdqob_remainder + S (x) = d - 0011
rewrite <- hsum at hupper - 0012
specialize add_lt_cancel_left d - 0013
specialize add_lt_cancel_left x - 0014
specialize add_lt_cancel_left d - 0015
apply add_lt_cancel_left - 0016
exact hupper - 0017
exists x - 0018
split - 0019
trans d + x - 0020
symm - 0021
exact hsum - 0022
specialize mul_one d - 0023
rewrite mul_one - 0024
refl - 0025
exact hremainder