open list #eval filter (< 10) [20, 5, 10, 3, 2, 14, 1] #eval qsort (<) [20, 5, 10, 3, 2, 14, 1] #eval foldl (+) 0 [1, 2, 3] example : foldl (+) 0 [3, 4, 1] = 8 := rfl example : foldl (*) 2 [3, 4, 1] = 24 := rfl #check (+) 1 2 example : (+) 1 2 = 3 := rfl example : (*) 3 4 = 12 := rfl example : (++) [1,2] [3,4] = [1,2,3,4] := rfl example : (++) [1,2] [3,4] = [1,2] ++ [3,4] := rfl /- (-) is rejected since we have prefix notation for - We cannot write (::) since we use (: t :) for annotating patterns for ematching. We have to write ( :: ) -/