Theorem shrshl2 | index | src |

theorem shrshl2 (a b c: nat): $ b <= c -> shr (shl a b) c = shr a (c - b) $;
StepHypRefExpression
1 shreq1
shr (shl a b) b = a -> shr (shr (shl a b) b) (c - b) = shr a (c - b)
2 shrshlid
shr (shl a b) b = a
3 1, 2 ax_mp
shr (shr (shl a b) b) (c - b) = shr a (c - b)
4 shrshr
shr (shr (shl a b) b) (c - b) = shr (shl a b) (b + (c - b))
5 pncan3
b <= c -> b + (c - b) = c
6 5 eqcomd
b <= c -> c = b + (c - b)
7 6 shreq2d
b <= c -> shr (shl a b) c = shr (shl a b) (b + (c - b))
8 4, 7 syl6eqr
b <= c -> shr (shl a b) c = shr (shr (shl a b) b) (c - b)
9 3, 8 syl6eq
b <= c -> shr (shl a b) c = shr a (c - b)

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)