Strictness-Quiz ignores "constructors" parameter, builds type-incorrect instances
Config
{ size = 5
, c_signature = Signature
{ defined = listToFM [ ( g, 3 ), ( f, 2 ) ]
, constructors = mkSet [ A,B,C]
}
, variables = mkSet [ x, p, z, y, q ]
, c_target = f
, num_candidates = 400
, c_max_steps = 40
}
example instance created from this config
For this set of declarations
{ f y q =
case y of
{ False -> q; True -> g C y y }
; g y z x =
case x of
{ False -> A; True -> A }
}
Prove that function f is not strict:
Note: A,B,C used in expressions, but False, True used in patterns