1733 val compose = |
1733 val compose = |
1734 bicompose_aux {flatten = true, match = match, incremented = true} |
1734 bicompose_aux {flatten = true, match = match, incremented = true} |
1735 (state, (stpairs, Bs, Bi, C), true); |
1735 (state, (stpairs, Bs, Bi, C), true); |
1736 fun res [] = Seq.empty |
1736 fun res [] = Seq.empty |
1737 | res ((eres_flg, rule)::brules) = |
1737 | res ((eres_flg, rule)::brules) = |
1738 if !Pattern.trace_unify_fail orelse |
1738 if Config.get_global (theory_of_thm state) Pattern.unify_trace_failure orelse |
1739 could_bires (Hs, B, eres_flg, rule) |
1739 could_bires (Hs, B, eres_flg, rule) |
1740 then Seq.make (*delay processing remainder till needed*) |
1740 then Seq.make (*delay processing remainder till needed*) |
1741 (fn()=> SOME(compose (eres_flg, lift rule, nprems_of rule), |
1741 (fn()=> SOME(compose (eres_flg, lift rule, nprems_of rule), |
1742 res brules)) |
1742 res brules)) |
1743 else res brules |
1743 else res brules |