Exact expanded PA statement
forall s e f. (((exists bcs_lower_gap_square_source. bcs_lower_gap_square_source + (s * s) = 6 * (e)) /\ exists bcs_upper_gap_square_source. bcs_upper_gap_square_source + S (6 * (e)) = (s * s) + 6)) -> (((exists bcs_lower_gap_square_target. bcs_lower_gap_square_target + ((s + 6) * (s + 6)) = 6 * (f)) /\ exists bcs_upper_gap_square_target. bcs_upper_gap_square_target + S (6 * (f)) = ((s + 6) * (s + 6)) + 6)) -> f = e + (2 * s + 6)Structural proof guide
Ceil((s+6)^2/6) is exactly Ceil(s^2/6)+2*s+6.
Direct prerequisites: ceil_div_six_shift, square_six_shift_identity, ceil_div_six_functional. The authored body proceeds by intermediate claims (3), 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 s - 0002
intro e - 0003
intro f - 0004
intro he - 0005
intro hf - 0006
have hshift : ((exists bcs_lower_gap_square_shifted. bcs_lower_gap_square_shifted + (s * s + 6 * (2 * s + 6)) = 6 * (e + (2 * s + 6))) /\ exists bcs_upper_gap_square_shifted. bcs_upper_gap_square_shifted + S (6 * (e + (2 * s + 6))) = (s * s + 6 * (2 * s + 6)) + 6) - 0007
specialize ceil_div_six_shift (s * s) - 0008
specialize ceil_div_six_shift e - 0009
specialize ceil_div_six_shift (2 * s + 6) - 0010
apply ceil_div_six_shift - 0011
exact he - 0012
have hid : s * s + 6 * (2 * s + 6) = (s + 6) * (s + 6) - 0013
specialize square_six_shift_identity s - 0014
exact square_six_shift_identity - 0015
have hnext : ((exists bcs_lower_gap_square_rewritten. bcs_lower_gap_square_rewritten + ((s + 6) * (s + 6)) = 6 * (e + (2 * s + 6))) /\ exists bcs_upper_gap_square_rewritten. bcs_upper_gap_square_rewritten + S (6 * (e + (2 * s + 6))) = ((s + 6) * (s + 6)) + 6) - 0016
rewrite <- hid - 0017
rewrite <- hid - 0018
exact hshift - 0019
specialize ceil_div_six_functional ((s + 6) * (s + 6)) - 0020
specialize ceil_div_six_functional f - 0021
specialize ceil_div_six_functional (e + (2 * s + 6)) - 0022
apply ceil_div_six_functional - 0023
exact hf - 0024
exact hnext