Some questions about synthetic differential geometry I've been trying to read Kock's text on synthetic differential geometry but I am getting a bit confused. For example, what does it mean to "interpret set theory in a topos"? What is a model of a theory? Why does Kock use [[ ]] rather than { } for sets? Does it serve to indicate that these sets are not "classical"? 
As a side question, are there any drawbacks to synthetic differential geometry compared to the usual approach? Are there any aspects of classical differential geometry that cannot be done synthetically, or require more effort and machinery? Can physical theories like general relativity be expressed synthetically? If so, does this make it easier or more difficult to perform calculations and simulations based on the synthetic formulation?
With regards to my background, I'm educated in "classical" differential geometry at the level of John Lee's series, I know a bit of general relativity from O'Neill, I'm familiar with elementary category theory at the level of Simmons' book, and I know the definition of a topos, but I don't know any categorical logic or model theory.

Any elementary topos comes with an internal language which allows you to formally import constructive logic and some set-theoretical notions into it. This enables you to manipulate objects (and arrows) inside it as though they were concrete sets. This is no formal coincidence: the notion of elementary topos was distilled by Lawvere as he worked to categorically axiomatize the category of sets. The double square brakets are indeed used to emphasize the 'sets' need not be objects in the category of sets.
As far as provability, many classical results in differential geometry are elegeantly expressible but not provable in the synthetic context. This paper discusses "constructing intuistionistic models of general relativity in suitable toposes".
