# Symbolics: Extend a rule to a sum with multiple terms

**URL:** <https://discourse.julialang.org/t/symbolics-extend-a-rule-to-a-sum-with-multiple-terms/86384>\
**Category:** Modelling & Simulations\
**Created:** [August 26, 2022, 1:58pm UTC](https://discourse.julialang.org/t/symbolics-extend-a-rule-to-a-sum-with-multiple-terms/86384 "2022-08-26T13:58:11Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![qwerty](https://avatars.discourse-cdn.com/v4/letter/q/4491bb/32.png) [@qwerty](https://discourse.julialang.org/u/qwerty)\
**Post date:** [August 26, 2022, 1:58pm UTC](https://discourse.julialang.org/t/symbolics-extend-a-rule-to-a-sum-with-multiple-terms/86384/1 "2022-08-26T13:58:11Z")

</div>

I have this:

```julia
@syms commutator(a, b)
myRule = @rule commutator((~a)+(~b), ~c) => commutator(~a, ~c) + commutator(~b, ~c)

```

how can I extend the rule to get:

```julia
myRule_ = @rule commutator((~a)+(~b)+(~d), ~c) => commutator(~a, ~c) + commutator(~b, ~c) + commutator(~d, ~c)

```

and so on, without handwriting the rules?

---

<div class="post-metadata">

**Author:** ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Post date:** [August 26, 2022, 2:10pm UTC](https://discourse.julialang.org/t/symbolics-extend-a-rule-to-a-sum-with-multiple-terms/86384/2 "2022-08-26T14:10:33Z")

</div>

@shashi

---

<div class="post-metadata">

**Author:** ![qwerty](https://avatars.discourse-cdn.com/v4/letter/q/4491bb/32.png) [@qwerty](https://discourse.julialang.org/u/qwerty)\
**Post date:** [August 26, 2022, 8:22pm UTC](https://discourse.julialang.org/t/symbolics-extend-a-rule-to-a-sum-with-multiple-terms/86384/3 "2022-08-26T20:22:38Z")

</div>

This works:

```julia
myRule_ = @rule commutator(+(~~xs), ~c) => sum(commutator(~i, ~c) for i in (~~xs))

```
