Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Problem Description Given the following prolog program, answer the following que

ID: 3823715 • Letter: P

Question

Problem Description Given the following prolog program, answer the following queries:


/* Comments in prolog + represents "not equal to" */


%single line comments


day("sunday").


day("monday").


day("tuesay").


day("wednesday").


day("thursday").


day("friday").


no_office("sunday").


no_office("saturday").


take_leave("monday").


visit_mom(X) :- no_office(X) | take_leave(X).


Interpret the queries and guess(!) the answer(s) produced by the program:


1. day("Holiday").


2. day(X).


3. visit_mom(X).


4. visit_mom(X). provided you have changed the rule with this: visit_mom(X) :- no_office(X) , take_leave(X).


5. define a new rule “working_day(X)”to detect the days that are not holidays.


6. Express the following statements in first order logic. You can define the predicates as you wish. Apply appropriate quantifiers for each expression.


a. I can visit my mom every day.


b. I can visit my mom if I have no office.


c. I take leave some day and I can visit my mom.


d. I can take leave if it is a working day.


e. What is the domain for a possible predicate “day(X)”?


Explanation / Answer

day("sunday").

day("monday").

day("tuesay").

day("wednesday").

day("thursday").

day("friday").

no_office("sunday").

no_office("saturday").

take_leave("monday").

visit_mom(X) :- no_office(X) | take_leave(X).

Based on above facts and rules, prolog program will answer the queries as follows.

1. day("Holiday").

No

2. day(X).

No

3. visit_mom(X).

No (X is a variable here)

4. visit_mom(X). provided you have changed the rule with this: visit_mom(X) :- no_office(X) , take_leave(X).

??X is a variable here, value of X is required.

5. define a new rule “working_day(X)”to detect the days that are not holidays.

working_day(X) :- + no_office(X) | take_leave(X)

6. Express the following statements in first order logic. You can define the predicates as you wish. Apply appropriate quantifiers for each expression.

a. I can visit my mom every day.

X visit_mom(X) :- day(X)

b. I can visit my mom if I have no office.

visit_mom(X) :- no_office(X) | take_leave(X)

c. I take leave some day and I can visit my mom.

X visit_mom(X) :- take_leave(X)

d. I can take leave if it is a working day.

X take_leave(X) :- + no_office(X)

e. What is the domain for a possible predicate “day(X)”?

domain for predicate day(X) is the possible values of variable X which are {"monday","tuesday","wednesday","thrusday","friday","saturday","sunday"}.

Please let me know in case of any doubts.

Thanks.

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote