～う／ることが（は、も）ある construction


During my studies I faced a situation where I stuck with understanding this
construction. My textbook said that various particles can be used there but it
hasn't explained the function of each particle.

Here's an example of a sentence which made me ask a lot of questions and curse
my textbook for not giving additional info about role of each particle in this
construction:

> テレビを見る時間がない。
>
> テレビを見る時間がないこと **が** ない。

First off, I wondered if I could add this construction to 「ない」. It was rather
a moment of stupidity than the actual problem. Second off, I asked the
question [here](https://hinative.com/en-US/questions/12854459) and was told
that it's possible but the particle that I used is wrong. Basically, this
particle changed the whole meaning of the sentence, and from intended **" I
have little time to watch TV"** it turned into **" I don't have time not to
watch TV (I always watch it)"** just because I used 「が」instead of「は」.

My textbook gives just plain examples of sentences with 「は」and 「が」but it
doesn't explain their use:

> 私は広田さんのうちに行くこと **は** ありませんでした。
>
> 私はあの人と話したこと **が** あります。

So, what I'd like to know is what the function of each (が、は、も) particle is,
how it works within the given construction and how to decide which one to use.




First, the last part of your question (～ **が** あります vs ～ **は** ありません) is
answered in [this question](https://japanese.stackexchange.com/q/1077/5010).
But there is more to explain when double-negative is involved.

> テレビを見る時間がないこと **が** ない。  
>  There is no situation where I have no time to watch TV.  
>  I never run out of time to watch TV.  
>  I always have time to watch TV.

> テレビを見る時間がないこと **も** ない。  
>  It's not that I don't have time to watch TV.  
>  If someone wishes, I can spare time to watch TV.  
>  Admittedly, I have at least a small amount of time to watch TV.

> テレビを見る時間がないこと **は** ない。[ambiguous]
>
>   1. Admittedly, I have at least a small amount of time to watch TV. (the
> same as the も-version)
>   2. I always have time to watch TV. (the same as the が-version)
>

  * ないことがない is a relatively simple double-negative construction. ことがない is "never" or "in no situation", and Xがない is "there is no X". `in no situation` + `there is no X` = `there is always (some) X`.
  * ないことはない is actually ambiguous and it can mean the same thing as ないことがない depending on the context. However, a sentence like this usually carries a nuance of "admittedly yes" or "cannot say no". This is treated as a set phrase. なくはない works in a similar manner. 
    * [JGram - ないことは(も)ない](http://www.jgram.org/pages/viewOne.php?tagE=naikotohanai)
    * [Learn JLPT N3 Grammar: ないことはない (nai koto wa nai)](https://japanesetest4you.com/flashcard/learn-jlpt-n3-grammar-%E3%81%AA%E3%81%84%E3%81%93%E3%81%A8%E3%81%AF%E3%81%AA%E3%81%84-nai-koto-wa-nai/)
    * [What does ...なくはない mean?](https://japanese.stackexchange.com/q/33401/5010)
  * も can be used in place of は when ないことはない means "admittedly yes". [This answer](https://japanese.stackexchange.com/a/65647/5010) explains what this も is doing.
  * To be clear, if you wanted to say "I have little time to watch TV", none of が/は/も will work. Why not simply say テレビを見る時間があまりない?

