system
A chat on subreddit /r/NoStupidQuestions
human
Speaking from over 20 years of experience as a contractor, this is what I would do.

First, CALL THE POLICE. Find the non emergency line for your area and get an officer over there to make a report and document the situation.  The contractor might not like this, but it is the ONLY way to cover yourself.

Next, call your insurance company.  If the contractor refuses to make it right or tries to get out of it by claiming the guys are subs, your insurance company has more resources to fight for your claim.  Hopefully, it's an honest mistake, and the contractor will make it right, but if not, you have to CYA from the beginning. 

In the meantime, start recording.  Make sure you tell them to stop work, and do not let them start "fixing" anything until the damage has been documented. It is completely unacceptable to re-use 10 year old shingles that have been torn off. At the very least, the removed shingles have to be replaced with new just to ensure they are water tight.  Even then, the new section will be an obviously different color for the life of the roof.  Do not let them convince you otherwise!

If it was one of my crews that made this mistake, I would be at your house with a work agreement ASAP.  The work agreement would specify that I am now replacing your entire roof with equivalent shingles in the color of your choice for zero dollars.  IMHO, anything less is unacceptable.
gpt
I'm just curious, what kind of insurance do you as a contractor have, and would "mistakenly taking off the wrong shingles" be generally covered under your policy or is that an oh-shit situation you have to cover out of pocket?