
Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN: 9780133594140
Author: James Kurose, Keith Ross
Publisher: PEARSON
expand_more
expand_more
format_list_bulleted
Question
thumb_up100%
Prolog
![Remember the "init" function of Haskell? It can be
defined in Haskell
as:
init:: [a] -> [a]
init [_] = []
init (x:xs) = x : init xs
Formulate the appropriate Prolog rule "init(Xs,Ys)"
which is true if
(and only if) "Ys" is the initial part of "Xs". That is, the
query
"init([1,2,3,4,5],[1,2,3,4])." would evaluate to "true", or
the query
"init([1,2,3,4,5],Ys)." would give "Ys = [1,2,3,4]".
Hint: this rule will be recursive, and will have a
corresponding base
case and recursive case, each analogous to the base
case and recursive
case, respectively, of the above Haskell function ---
the main
difference being that the Prolog rule "init(Xs,Ys)" is a
predicate,
not a function.](https://content.bartleby.com/qna-images/question/dd1340e1-026e-4b10-9e6b-a53bd1323fd7/0c39c563-8ee5-4165-8aa1-c1b5d3cf3af4/1ses426_thumbnail.jpeg)
Transcribed Image Text:Remember the "init" function of Haskell? It can be
defined in Haskell
as:
init:: [a] -> [a]
init [_] = []
init (x:xs) = x : init xs
Formulate the appropriate Prolog rule "init(Xs,Ys)"
which is true if
(and only if) "Ys" is the initial part of "Xs". That is, the
query
"init([1,2,3,4,5],[1,2,3,4])." would evaluate to "true", or
the query
"init([1,2,3,4,5],Ys)." would give "Ys = [1,2,3,4]".
Hint: this rule will be recursive, and will have a
corresponding base
case and recursive case, each analogous to the base
case and recursive
case, respectively, of the above Haskell function ---
the main
difference being that the Prolog rule "init(Xs,Ys)" is a
predicate,
not a function.
Expert Solution

This question has been solved!
Explore an expertly crafted, step-by-step solution for a thorough understanding of key concepts.
This is a popular solution
Trending nowThis is a popular solution!
Step by stepSolved in 2 steps

Knowledge Booster
Similar questions
arrow_back_ios
arrow_forward_ios
Recommended textbooks for you
- Computer Networking: A Top-Down Approach (7th Edi...Computer EngineeringISBN:9780133594140Author:James Kurose, Keith RossPublisher:PEARSONComputer Organization and Design MIPS Edition, Fi...Computer EngineeringISBN:9780124077263Author:David A. Patterson, John L. HennessyPublisher:Elsevier ScienceNetwork+ Guide to Networks (MindTap Course List)Computer EngineeringISBN:9781337569330Author:Jill West, Tamara Dean, Jean AndrewsPublisher:Cengage Learning
- Concepts of Database ManagementComputer EngineeringISBN:9781337093422Author:Joy L. Starks, Philip J. Pratt, Mary Z. LastPublisher:Cengage LearningPrelude to ProgrammingComputer EngineeringISBN:9780133750423Author:VENIT, StewartPublisher:Pearson EducationSc Business Data Communications and Networking, T...Computer EngineeringISBN:9781119368830Author:FITZGERALDPublisher:WILEY

Computer Networking: A Top-Down Approach (7th Edi...
Computer Engineering
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:PEARSON

Computer Organization and Design MIPS Edition, Fi...
Computer Engineering
ISBN:9780124077263
Author:David A. Patterson, John L. Hennessy
Publisher:Elsevier Science

Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:9781337569330
Author:Jill West, Tamara Dean, Jean Andrews
Publisher:Cengage Learning

Concepts of Database Management
Computer Engineering
ISBN:9781337093422
Author:Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:Cengage Learning

Prelude to Programming
Computer Engineering
ISBN:9780133750423
Author:VENIT, Stewart
Publisher:Pearson Education

Sc Business Data Communications and Networking, T...
Computer Engineering
ISBN:9781119368830
Author:FITZGERALD
Publisher:WILEY