Я пытаюсь написать функцию в Isabelle для некоторых задач в задании, и я хотел убедиться, что моя функция работает правильно, поэтому я подумал о тестировании ее в SML, но, похоже, не могу понять, как ее написать . Я никогда не использовал / не писал / не изучал функциональное программирование, поэтому у меня с этим возникают небольшие проблемы. Может ли кто-нибудь мне помочь или, может быть, если в Изабель есть что-то о тестировании работы функции, может ли он указать мне правильное направление?
Функции следующие, и в основном они удаляют первое вхождение элемента в списке и удаляют все вхождения из списка.
fun del1:: "'a ⇒ 'a list ⇒ 'a list" where
"del1 a Nil = Nil" |
"del1 a (x#xs) = (if x = a then xs else x#(del1 a xs))"
fun delall:: "'a ⇒ 'a list ⇒ 'a list" where
"delall a Nil = Nil" |
"delall a (x#xs) = (if x = a then (delall a xs) else x#(delall a xs))"