equal
deleted
inserted
replaced
190 | (0, _) => 0 |
190 | (0, _) => 0 |
191 | (_, 0) => 0 |
191 | (_, 0) => 0 |
192 | (k1, k2) => |
192 | (k1, k2) => |
193 if k1 >= max orelse k2 >= max then max |
193 if k1 >= max orelse k2 >= max then max |
194 else Int.min (max, Integer.pow k2 k1)) |
194 else Int.min (max, Integer.pow k2 k1)) |
|
195 | Type (@{type_name set}, [T']) => aux slack avoid (T' --> @{typ bool}) |
195 | @{typ prop} => 2 |
196 | @{typ prop} => 2 |
196 | @{typ bool} => 2 (* optimization *) |
197 | @{typ bool} => 2 (* optimization *) |
197 | @{typ nat} => 0 (* optimization *) |
198 | @{typ nat} => 0 (* optimization *) |
198 | Type ("Int.int", []) => 0 (* optimization *) |
199 | Type ("Int.int", []) => 0 (* optimization *) |
199 | Type (s, _) => |
200 | Type (s, _) => |