Does it hold for lists? :Write a function holds_for_lists : ’a list -> ’b list -> (’a -> ’b -> bool) -> bool = that takes an ’a list, an ’b list, a function f: ’ a -> ’b ->bool and returns true if and only if • The two list are of the same length, and • (f a b) is true for all pairs a, b such that a is from the first list, b is from the second list, and a and b appear in the same position in their lists. (oCaml)

C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter17: Linked Lists
Section: Chapter Questions
Problem 18SA
icon
Related questions
Question

 Does it hold for lists? :Write a function holds_for_lists : ’a list -> ’b list -> (’a -> ’b -> bool) -> bool = that takes an ’a list, an ’b list, a function f: ’ a -> ’b ->bool and returns true if and only if • The two list are of the same length, and • (f a b) is true for all pairs a, b such that a is from the first list, b is from the second list, and a and b appear in the same position in their lists. (oCaml)

1 # holds_for_lists [1;2] [2;3] (<) ;;
: bool = true
3 #holds_for_lists
: bool = false
5 # holds_for_lists
: bool = false
4
6-
7 #holds_for_lists
[1;2] [-1;3] (<) ;;
[1;2] [2; 2] (<) ;;
[] [2] (<) ;;
8-
: bool = false
9 # holds_for_lists [true; false]
10
=
: bool
11 # holds_for_lists
[true; false]
12
: bool = false
13 # holds_for_lists
[true; false] [false] () ;;
14
: bool = false
15 # holds_for_lists [2;4] [1.; -3.4] (fun x y-> (
float_of_int_x)
>=y) ;;
-
20
: bool
=
true
16
17 # holds_for_lists
float_of_int_x)
18.
: bool = false
19 # holds_for_lists
float_of_int
: bool = false
true
[false; true] (IT) ; ;
[false; false] (|| ; ;
[2; 4; 6] [2.1; -3.4;1.] (fun x y-> (
>=y) ;;
[2;4] [2.1; -3.4;4.] (fun x y-> (
x) >=y) ;;
Transcribed Image Text:1 # holds_for_lists [1;2] [2;3] (<) ;; : bool = true 3 #holds_for_lists : bool = false 5 # holds_for_lists : bool = false 4 6- 7 #holds_for_lists [1;2] [-1;3] (<) ;; [1;2] [2; 2] (<) ;; [] [2] (<) ;; 8- : bool = false 9 # holds_for_lists [true; false] 10 = : bool 11 # holds_for_lists [true; false] 12 : bool = false 13 # holds_for_lists [true; false] [false] () ;; 14 : bool = false 15 # holds_for_lists [2;4] [1.; -3.4] (fun x y-> ( float_of_int_x) >=y) ;; - 20 : bool = true 16 17 # holds_for_lists float_of_int_x) 18. : bool = false 19 # holds_for_lists float_of_int : bool = false true [false; true] (IT) ; ; [false; false] (|| ; ; [2; 4; 6] [2.1; -3.4;1.] (fun x y-> ( >=y) ;; [2;4] [2.1; -3.4;4.] (fun x y-> ( x) >=y) ;;
Expert Solution
steps

Step by step

Solved in 3 steps with 1 images

Blurred answer
Knowledge Booster
Linked List Representation
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning
Systems Architecture
Systems Architecture
Computer Science
ISBN:
9781305080195
Author:
Stephen D. Burd
Publisher:
Cengage Learning