equal
deleted
inserted
replaced
448 ? insert (op =) s |
448 ? insert (op =) s |
449 val cpairs = type_class_pairs thy tycons classes |
449 val cpairs = type_class_pairs thy tycons classes |
450 val newclasses = |
450 val newclasses = |
451 [] |> fold (fold (fold (fold maybe_insert_class) o snd) o snd) cpairs |
451 [] |> fold (fold (fold (fold maybe_insert_class) o snd) o snd) cpairs |
452 val (classes', cpairs') = iter_type_class_pairs thy tycons newclasses |
452 val (classes', cpairs') = iter_type_class_pairs thy tycons newclasses |
453 in (union (op =) classes' classes, union (op =) cpairs' cpairs) end |
453 in (classes' @ classes, union (op =) cpairs' cpairs) end |
454 |
454 |
455 fun make_arity_clauses thy tycons = |
455 fun make_arity_clauses thy tycons = |
456 iter_type_class_pairs thy tycons ##> multi_arity_clause |
456 iter_type_class_pairs thy tycons ##> multi_arity_clause |
457 |
457 |
458 |
458 |