Quantifier Functions **

The mathematical quantifiers *for all* and *there exists* are well-known. In this exercise we will
write similar Scheme quantifier functions.

The function `(for-all lst p)` is supposed to check if all elements in the list `lst` satisfy the predicate `p`.

The function `(there-exists lst p)` is supposed to check if one or more elements in the list `lst` satisfy the predicate `p`.

Finally, the function `(there-exists-1 lst p)` is supposed to check if exactly on element in the list `lst` satisfies `p`.

Program and test these functions.

You should in addition consider how to program these function by use of `map`, `filter`, and reduction (accumulation).

Please decide if your functions are tail recursive.