Theorem shlshl | index | src |

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