# How to fix this error : SetDelayed::write: Tag Plus in (<<1>>)[x_] is Protected.? [duplicate]

This question already has an answer here:

I don't get the meaning of the sign <<>> and also from which line the error is coming as I have a program of more than 30 lines with many defined functions without using "Module" . Is not there any way to display line numbers in Mathematica so that we can know from which line error is coming?

-

## marked as duplicate by Mr.Wizard♦May 23 '15 at 10:51

Mathematica is not so hot on lines and debuggging is not straightforward. Please add the offending code (or a minimal working example thereof) - without code there is no way to help you. – Yves Klett May 14 '14 at 16:02
We need a minimal example to give a clear analysis of the problem, but the cause is likely to be very similar to this: (11982) – Mr.Wizard May 14 '14 at 17:02
I didn't write Quit[] at the end of the program. That is why for the first time when I run the program I got the result, but after some modification when I run the program, I got that error message. Thanks for the help. – user22180 May 14 '14 at 19:24

<< ..>> is called a Skeleton. It is is used to show you an abbreviated version of the actual offending line. You can find it in Short and Shallow.

Short[(x + y)^30 // Expand]


You can see the skeleton right there in the middle.

The error message probably comes from an illegal construction like:

(a + b)[x_] := 2


SetDelayed::write: Tag Plus in (a+b)[x_] is Protected. >>

-

I think you used a function and then tried to manually set another value to it. for instance:

fun=3; fun[x_]:=Tan[x]; gives the following error

"SetDelayed::write: "Tag Integer in 3[x_] is Protected"

you are probably doing something very similar.

-