Theorem shrshladd | index | src |

theorem shrshladd (a b c: nat): $ shr (shl a b + c) b = a + shr c b $;
StepHypRefExpression
1 muladddiv1
2 ^ b != 0 -> (a * 2 ^ b + c) // 2 ^ b = a + c // 2 ^ b
2 1 conv shl, shr
2 ^ b != 0 -> shr (shl a b + c) b = a + shr c b
3 pow2ne0
2 ^ b != 0
4 2, 3 ax_mp
shr (shl a b + c) b = a + shr 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)