Confused in choosing でした or です in のは～だ grammar


Which one is the correct one between the following 2 sentences? Are my English
translations correct?

> A: 昨日食べたのは肉まん **です** 。
>
> A': It **is** nikuman (steamed meat bun) that I ate yesterday.
>
> B: 昨日食べたのは肉まん **でした** 。
>
> B': It **was** nikuman (steamed meat bun) that I ate yesterday.

Note: I am not a native speaker in both English and Japanese.




The key here is the word order. The neutral order is “昨日肉まんを食べました”. By saying
it in the order “昨日食べたのは肉まん[です/でした]”, you are already conveying a
**contrastive** nuance. That is to say, you ate 肉まん and **not something
else**.

です/でした tends to have implications on this contrastive nuance:

> 昨日食べたのは肉まん **です** 。ラーメンではなくて。  
>  _It was nikuman that I ate yesterday. Not ramen._
>
> 昨日食べたのは肉まん **でした** 。ラーメンではなくて。  
>  _**It turns out** it was nikuman that I ate yesterday. Not ramen._

Using `でした` can imply that you are overturning a previous belief or statement.
You previously thought/said it was ramen, but it turned out to be nikuman.

So for example, these are the natural choices:

  * 先に帰ってきたのはお父さん **です** 。  
_It was my father who came home first._

  * お母さんが先に帰ってくるはずだったのに、先に帰ってきたのはお父さん **でした** 。  
_My mother was supposed to come home first, but it turned out to be my father
who came home first._

