cases: fixes a1 :: "('a literal multiset \<times> nat) multiset \<times> ('a literal multiset \<times> nat) multiset \<times> ('a literal multiset \<times> nat) multiset \<times> nat"   and a2 :: "('a literal multiset \<times> nat) multiset \<times> ('a literal multiset \<times> nat) multiset \<times> ('a literal multiset \<times> nat) multiset \<times> nat" assumes "a1 \<leadsto>\<^sub>w a2" obtains A :: "'a" and C :: "'a literal multiset" and N :: "('a literal multiset \<times> nat) multiset" and i :: "nat" and P :: "('a literal multiset \<times> nat) multiset" and Q :: "('a literal multiset \<times> nat) multiset" and n :: "nat" where "a1 = (N__ + {#(C__, i__)#}, P__, Qa__, na__)" and "a2 = (N__, P__, Qa__, na__)" and "Neg A \<in># C__" and "Pos A \<in># C__"   | D :: "'a literal multiset" and P :: "('a literal multiset \<times> nat) multiset" and Q :: "('a literal multiset \<times> nat) multiset" and C :: "'a literal multiset" and N :: "('a literal multiset \<times> nat) multiset" and i :: "nat" and n :: "nat" where "a1 = (Na__ + {#(Ca__, ia__)#}, Pa__, Qb__, nb__)" and "a2 = (Na__, Pa__, Qb__, nb__)" and "D__ \<in># image_mset fst (Pa__ + Qb__)" and "subsumes D__ Ca__"   | D :: "'a literal multiset" and N :: "('a literal multiset \<times> nat) multiset" and C :: "'a literal multiset" and P :: "('a literal multiset \<times> nat) multiset" and Q :: "('a literal multiset \<times> nat) multiset" and n :: "nat" where "a1 = (Nb__, Pb__, Qc__, nc__)" and "a2 = (Nb__, {#(E, k) \<in># Pb__. E \<noteq> Cb__#}, Qc__, nc__)" and "Da__ \<in># image_mset fst Nb__" and "Cb__ \<in># image_mset fst Pb__" and "strictly_subsumes Da__ Cb__"   | D :: "'a literal multiset" and N :: "('a literal multiset \<times> nat) multiset" and C :: "'a literal multiset" and P :: "('a literal multiset \<times> nat) multiset" and Q :: "('a literal multiset \<times> nat) multiset" and i :: "nat" and n :: "nat" where "a1 = (Nc__, Pc__, Qd__ + {#(Cc__, ib__)#}, nd__)" and "a2 = (Nc__, Pc__, Qd__, nd__)" and "Db__ \<in># image_mset fst Nc__" and "strictly_subsumes Db__ Cc__"   | D :: "'a literal multiset" and L' :: "'a literal" and P :: "('a literal multiset \<times> nat) multiset" and Q :: "('a literal multiset \<times> nat) multiset" and L :: "'a literal" and \<sigma> :: "'s" and C :: "'a literal multiset" and N :: "('a literal multiset \<times> nat) multiset" and i :: "nat" and n :: "nat" where "a1 = (Nd__ + {#(Cd__ + {#L__#}, ic__)#}, Pd__, Qe__, ne__)" and "a2 = (Nd__ + {#(Cd__, ic__)#}, Pd__, Qe__, ne__)" and "Dc__ + {#L'__#} \<in># image_mset fst (Pd__ + Qe__)" and "- L__ = L'__ \<cdot>l \<sigma>__" and "Dc__ \<cdot> \<sigma>__ \<subseteq># Cd__"   | D :: "'a literal multiset" and L' :: "'a literal" and N :: "('a literal multiset \<times> nat) multiset" and L :: "'a literal" and \<sigma> :: "'s" and C :: "'a literal multiset" and P :: "('a literal multiset \<times> nat) multiset" and i :: "nat" and Q :: "('a literal multiset \<times> nat) multiset" and n :: "nat" where "a1 = (Ne__, Pe__ + {#(Ce__ + {#La__#}, id__)#}, Qf__, nf__)" and "a2 = (Ne__, Pe__ + {#(Ce__, id__)#}, Qf__, nf__)" and "Dd__ + {#L'a__#} \<in># image_mset fst Ne__" and "- La__ = L'a__ \<cdot>l \<sigma>'__" and "Dd__ \<cdot> \<sigma>'__ \<subseteq># Ce__" and "\<forall>j. (Ce__ + {#La__#}, j) \<in># Pe__ \<longrightarrow> j \<le> id__"   | D :: "'a literal multiset" and L' :: "'a literal" and N :: "('a literal multiset \<times> nat) multiset" and L :: "'a literal" and \<sigma> :: "'s" and C :: "'a literal multiset" and P :: "('a literal multiset \<times> nat) multiset" and Q :: "('a literal multiset \<times> nat) multiset" and i :: "nat" and n :: "nat" where "a1 = (Nf__, Pf__, Qg__ + {#(Cf__ + {#L#}, ie__)#}, ng__)" and "a2 = (Nf__, Pf__ + {#(Cf__, ie__)#}, Qg__, ng__)" and "D + {#L'#} \<in># image_mset fst Nf__" and "- L = L' \<cdot>l \<sigma>" and "D \<cdot> \<sigma> \<subseteq># Cf__"   | N :: "('a literal multiset \<times> nat) multiset" and C :: "'a literal multiset" and i :: "nat" and P :: "('a literal multiset \<times> nat) multiset" and Q :: "('a literal multiset \<times> nat) multiset" and n :: "nat" where "a1 = (Ng__ + {#(Cg__, if__)#}, Pg__, Qh__, nh__)" and "a2 = (Ng__, Pg__ + {#(Cg__, if__)#}, Qh__, nh__)"   | P :: "('a literal multiset \<times> nat) multiset" and C :: "'a literal multiset" and i :: "nat" and N :: "('a literal multiset \<times> nat) multiset" and n :: "nat" and Q :: "('a literal multiset \<times> nat) multiset" where "a1 = ({#}, P + {#(C, i)#}, Q, n)" and "a2 = (N, {#(D, j) \<in># P. D \<noteq> C#}, Q + {#(C, i)#}, Suc n)" and "\<forall>(D, j)\<in>#P. weight (C, i) \<le> weight (D, j)" and "N = mset_set ((\<lambda>D. (D, n)) ` concls_of (inference_system.inferences_between (ord_FO_\<Gamma> S) (set_mset (image_mset fst Q)) C))"