해당 문장에서 for plants and animals는 provide A for B 구조의 일부로 보는 것이 더 자연스럽고 문법적으로 맞습니다. 따라서 이 경우는 to live on의 의미상의 주어로 보기 어렵습니다.
[ 문장 분석 ]
They provide additional places for plants and animals to live on.
1. Provide A for B 구조 : 여기서 A = additional places, B = plants and animals
→ 즉, 식물과 동물에게 추가적인 서식지를 제공한다는 입니다.
1. To live on: To부정사가 앞의 명사 places를 수식하며, '살 수 있는 장소들'
이라는 의미
[ For plants and animals이 to부정사의 의미상의 주어일 수는 없나? ]
문법적으로 to부정사의 의미상의 주어는 주로 다음과 같이 for + 명사 또는 of + 명사 형태로 사용됩니다
It is important for students to study.
It was careless of him to say that.
하지만 그런 구조가 성립하려면 to부정사와의 의미적 연결이 우선되어야 합니다.
이 문장에서 중요한 점은, for plants and animals는 이미 provide A for B 구조에서 B 역할을 하고 있다는 것과
따라서 to live on의 의미상의 주어로 보기엔 구조상 자연스럽지 않다는 것입니다.
[ 의미상의 주어처럼 보이지만 실제로는 전치사구 ]
They built shelters for people to stay in.
여기서도 for people은 shelters를 위한 대상이지, to stay in의 의미상의 주어라고 보기 어려움.
They built shelters[for people] [to stay in] = 사람들이 머무를 수 있는 피난처를 지었다 → 자연스러움.
[ 의미상의 주어인 경우]
It is difficult for me to understand this.
여기선 for me가 명확히 to understand의 의미상의 주어입니다.
[ 결론 ]
선생님의 해석이 맞습니다.
For plants and animals는 provide A for B 구조의 B로 보아야 하고, To live on은 places를 수식하는 to부정사입니다. 이 경우에는 to부정사의 의미상의 주어로 'for plants and animals'를 해석하는 것은 문법적으로 부자연스럽고 중복되는 해석입니다.
[ 의미상의 주어로 쓰고 싶다면? ]
다음처럼 구조를 바꿔야 해요.
They provide additional places for plants and animals to live on them.
→ 여기서는 약간 애매하지만, 의미상의 주어로도 읽힐 수 있게 바꿀 수 있습니다.
또는, These are additional places for plants and animals to live on.
→ 여기선 더 명확하게 for plants and animals가 의미상의 주어 역할을 하게 됩니다.