Question: Abstract Data Types Advanced algorithms exercise 3 Abstract Data Types Assume the notion of Predicate is defined as an ADT in the following way ADT

Abstract Data Types Advanced algorithms exercise
3 Abstract Data Types Assume the notion of Predicate is defined as an ADT in the following way ADT Predicate andi Uses Element, Boolean Operations ap exec: Predicate x Element -> Boolean For instance if we consider Predicate isEven that tests wether its argument is even, we have exec(iaEven 2) true and exec(isEven,3) = false. Define an extension to ADT List with the following operations (see if they are total or partial first )- firstThat: List x Predicate -> Element, which returns the first element in the list for which the predicate evaluates to true; allThat: List x Predicate -> List, which returns the list of all the elements of the initial list for which the predicate evaluates to true. 3 Abstract Data Types Assume the notion of Predicate is defined as an ADT in the following way ADT Predicate andi Uses Element, Boolean Operations ap exec: Predicate x Element -> Boolean For instance if we consider Predicate isEven that tests wether its argument is even, we have exec(iaEven 2) true and exec(isEven,3) = false. Define an extension to ADT List with the following operations (see if they are total or partial first )- firstThat: List x Predicate -> Element, which returns the first element in the list for which the predicate evaluates to true; allThat: List x Predicate -> List, which returns the list of all the elements of the initial list for which the predicate evaluates to true
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
