equal
deleted
inserted
replaced
327 |
327 |
328 fun mutual_rule _ [] = NONE |
328 fun mutual_rule _ [] = NONE |
329 | mutual_rule _ [th] = SOME ([0], th) |
329 | mutual_rule _ [th] = SOME ([0], th) |
330 | mutual_rule ctxt (ths as th :: _) = |
330 | mutual_rule ctxt (ths as th :: _) = |
331 let |
331 let |
332 val (ths', ctxt') = Variable.import true ths ctxt; |
332 val ((_, ths'), ctxt') = Variable.import true ths ctxt; |
333 val rules as (prems, _) :: _ = map (prep_rule (get_consumes th)) ths'; |
333 val rules as (prems, _) :: _ = map (prep_rule (get_consumes th)) ths'; |
334 val (ns, rls) = split_list (map #2 rules); |
334 val (ns, rls) = split_list (map #2 rules); |
335 in |
335 in |
336 if not (forall (equal_cterms prems o #1) rules) then NONE |
336 if not (forall (equal_cterms prems o #1) rules) then NONE |
337 else |
337 else |