Theorem shrshladdid | index | src |

theorem shrshladdid (a b c: nat): $ c < 2 ^ b -> shr (shl a b + c) b = a $;
StepHypRefExpression
1 muladddiv1lt
2 ^ b != 0 /\ c < 2 ^ b -> (a * 2 ^ b + c) // 2 ^ b = a
2 1 exp
2 ^ b != 0 -> c < 2 ^ b -> (a * 2 ^ b + c) // 2 ^ b = a
3 2 conv shl, shr
2 ^ b != 0 -> c < 2 ^ b -> shr (shl a b + c) b = a
4 pow2ne0
2 ^ b != 0
5 3, 4 ax_mp
c < 2 ^ b -> shr (shl a b + c) b = a

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)