, , check quickcheck, ...
.
, . , , . .
(KAT)
, , . , KAT , (, -), , (: ). decrypt(key,encrypt(key,msg)) == msg.
, - 0 < area(triangle) < triangle.width * triangle.height, . , , , - - , .
, ,
( ):
, concat(xs,ys) = xs ++ ys. ? , , ! ? ! ? !
prop_len(xs,ys) = len(xs) + len(ys) = len(concat(xs,ys))
prop_elem(xs,ys) =
let cs = concat(xs,ys)
elem(head xs, cs) && elem(head ys, cs) && prop_elem(tail xs,ys) && prop_elem(xs,tail ys)
?