Theorem shrshr | index | src |

theorem shrshr (a b c: nat): $ shr (shr a b) c = shr a (b + c) $;
StepHypRefExpression
1 eqtr4
shr (shr a b) c = a // (2 ^ b * 2 ^ c) -> shr a (b + c) = a // (2 ^ b * 2 ^ c) -> shr (shr a b) c = shr a (b + c)
2 divdiv
a // 2 ^ b // 2 ^ c = a // (2 ^ b * 2 ^ c)
3 2 conv shr
shr (shr a b) c = a // (2 ^ b * 2 ^ c)
4 1, 3 ax_mp
shr a (b + c) = a // (2 ^ b * 2 ^ c) -> shr (shr a b) c = shr a (b + c)
5 diveq2
2 ^ (b + c) = 2 ^ b * 2 ^ c -> a // 2 ^ (b + c) = a // (2 ^ b * 2 ^ c)
6 5 conv shr
2 ^ (b + c) = 2 ^ b * 2 ^ c -> shr a (b + c) = a // (2 ^ b * 2 ^ c)
7 powadd
2 ^ (b + c) = 2 ^ b * 2 ^ c
8 6, 7 ax_mp
shr a (b + c) = a // (2 ^ b * 2 ^ c)
9 4, 8 ax_mp
shr (shr a b) c = shr 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)