Considereu aquesta definició de tipus per a expressions lògiques amb variables o valors booleans a les fulles:
El Jutge dóna puntacions parcials per cada apartat: un punt per cada joc de proves públic i un punt per cada joc de proves privat. La puntuació del problema per part del professor és independent d’aquesta puntuació.
Input
Val False Val True Var "a" And (Val True) (Var "b") And (Val False) (Val False) Or (And (Val True) (Var "x")) (Not (Or (Var "y") (Var "x"))) Not (Or (And (Val True) (Var "x")) (Not (Or (Var "y") (Var "x"))))
Output
0 1 a (1 and b) (0 and 0) ((1 and x) or (not (y or x))) (not ((1 and x) or (not (y or x))))
Input
pushNegations $ Val True pushNegations $ Var "x" pushNegations $ Not (Val True) pushNegations $ And (Val True) (Var "x") pushNegations $ Or (And (Val True) (Var "x")) (Not (Or (Var "y") (Var "x"))) pushNegations $ Not (Or (And (Val True) (Var "x")) (Not (Or (Var "y") (Var "x")))) pushNegations $ Not $ Not $ Not $ Var "a"
Output
1 x 0 (1 and x) ((1 and x) or ((not y) and (not x))) ((0 or (not x)) and (y or x)) (not a)
Input
take 3 bits bits !! 0 bits !! 1 bits !! 2 bits !! 3 bits !! 4 take 16 $ map length bits
Output
[[[]],[[0],[1]],[[0,0],[0,1],[1,0],[1,1]]] [[]] [[0],[1]] [[0,0],[0,1],[1,0],[1,1]] [[0,0,0],[0,0,1],[0,1,0],[0,1,1],[1,0,0],[1,0,1],[1,1,0],[1,1,1]] [[0,0,0,0],[0,0,0,1],[0,0,1,0],[0,0,1,1],[0,1,0,0],[0,1,0,1],[0,1,1,0],[0,1,1,1],[1,0,0,0],[1,0,0,1],[1,0,1,0],[1,0,1,1],[1,1,0,0],[1,1,0,1],[1,1,1,0],[1,1,1,1]] [1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768]