I am struggling to undersand Predicate Logic and my teacher gave me an interesting problem that is just a little confusing. I am unsure what I need to exactly describe these situations. I gave it a go but I would appreciate any insights into what I might be doing wrong.
You are writing a program that keeps track of movies and actors. The situation can be described using the following predicates:
- R(M,Y) is true if movie M was released in year Y.
- S(A,M) is true if actor A appears in movie M.
- H(M) is true if the movie M was a hit!
Use these predicates to state the following facts:
- (a) Actor “A” has appeared in at least one hit.
- (b) Actor “A” has appeared in at least two hits.
- (c) Actors “A1” and “A2” have appeared together in the same movie.
- (d) All the movies that Actor “A” appears in are hits.
- (e) Actor “A” appears in all the hits released in ”2020”.
My solutions so far:
- a. (∃x) S(A,M) → H(M)
- b. (∃x) S(A,M) → H(M) ∧ H(M)
- c. (∃x) S(A_1,M) ∧ S(A_1,M)
- d. (∀x) S(A,M) → H(M)
- e. (∀x) S(A,M) → H(M) in 2020