produce more potential counterexamples for subset operator (cf. quantifiers)
--- a/src/HOL/Tools/Nitpick/nitpick_nut.ML Fri May 14 11:24:49 2010 +0200
+++ b/src/HOL/Tools/Nitpick/nitpick_nut.ML Fri May 14 12:01:16 2010 +0200
@@ -970,11 +970,11 @@
in
if is_opt_rep R then
triad_fn (fn polar => s_op2 Subset T (Formula polar) u1 u2)
- else if opt andalso polar = Pos andalso
- not (is_concrete_type datatypes true (type_of u1)) then
+ else if not opt orelse unsound orelse polar = Neg orelse
+ is_concrete_type datatypes true (type_of u1) then
+ s_op2 Subset T R u1 u2
+ else
Cst (False, T, Formula Pos)
- else
- s_op2 Subset T R u1 u2
end
| Op2 (DefEq, T, _, u1, u2) =>
s_op2 DefEq T (Formula Neut) (sub u1) (sub u2)