Theorem shrshl1 | index | src |

theorem shrshl1 (a b c: nat): $ c <= b -> shr (shl a b) c = shl a (b - c) $;
StepHypRefExpression
1 shrshlid
shr (shl (shl a (b - c)) c) c = shl a (b - c)
2 shlshl
shl (shl a (b - c)) c = shl a (b - c + c)
3 npcan
c <= b -> b - c + c = b
4 3 eqcomd
c <= b -> b = b - c + c
5 4 shleq2d
c <= b -> shl a b = shl a (b - c + c)
6 2, 5 syl6eqr
c <= b -> shl a b = shl (shl a (b - c)) c
7 6 shreq1d
c <= b -> shr (shl a b) c = shr (shl (shl a (b - c)) c) c
8 1, 7 syl6eq
c <= b -> shr (shl a b) c = shl a (b - c)

Axiom use

axs_prop_calc (ax_1, ax_2, ax_3, ax_mp, itru), axs_pred_calc (ax_gen, ax_4, ax_5, ax_6, ax_7, ax_10, ax_11, ax_12), axs_set (elab, ax_8), axs_the (theid, the0), axs_peano (peano1, peano2, peano5, addeq, muleq, add0, addS, mul0, mulS)