elims_3: fixes x :: "'b formula" assumes "\<not> safe_formula x" obtains t1 :: "'b trm" and t2 :: "'b trm" where "x = Eq t1 t2" and "\<not> (is_Const t1 \<or> is_Const t2)"   | xa :: "nat" and y :: "nat" where "x = Neg (Eq (Var xa) (Var y))" and "xa \<noteq> y"   | \<phi> :: "'b formula" and \<psi> :: "'b formula" where "x = Neg (Or (Neg \<phi>''__) \<psi>'__)" and "\<not> (safe_formula \<phi>''__ \<and> (safe_formula \<psi>'__ \<and> fv \<psi>'__ \<subseteq> fv \<phi>''__ \<or> (case \<psi>'__ of Neg x \<Rightarrow> safe_formula x | _ \<Rightarrow> False)))"   | \<phi> :: "'b formula" and \<psi> :: "'b formula" where "x = Or \<phi>'''__ \<psi>''__" and "\<not> (fv \<psi>''__ = fv \<phi>'''__ \<and> safe_formula \<phi>'''__ \<and> safe_formula \<psi>''__)"   | \<phi> :: "'b formula" where "x = Exists \<phi>''''__" and "\<not> safe_formula \<phi>''''__"   | I :: "\<I>" and \<phi> :: "'b formula" where "x = Prev Ia__ \<phi>'''''__" and "\<not> safe_formula \<phi>'''''__"   | I :: "\<I>" and \<phi> :: "'b formula" where "x = Next Ib__ \<phi>''''''__" and "\<not> safe_formula \<phi>''''''__"   | \<phi> :: "'b formula" and I :: "\<I>" and \<psi> :: "'b formula" where "x = Since \<phi>'''''''__ Ic__ \<psi>'''__" and "\<not> (fv \<phi>'''''''__ \<subseteq> fv \<psi>'''__ \<and> (safe_formula \<phi>'''''''__ \<or> (case \<phi>'''''''__ of Neg x \<Rightarrow> safe_formula x | _ \<Rightarrow> False)) \<and> safe_formula \<psi>'''__)"   | \<phi> :: "'b formula" and I :: "\<I>" and \<psi> :: "'b formula" where "x = Until \<phi> I \<psi>" and "\<not> (fv \<phi> \<subseteq> fv \<psi> \<and> (safe_formula \<phi> \<or> (case \<phi> of Neg x \<Rightarrow> safe_formula x | _ \<Rightarrow> False)) \<and> safe_formula \<psi>)"   | va :: "char list" and vb :: "'b trm list" where "x = Neg (Pred va__ vb__)"   | vc :: "nat" and v :: "'b" where "x = Neg (Eq (Var vc__) (Const v__))"   | v :: "'b" and vc :: "nat" where "x = Neg (Eq (Const vd__) (Var vca__))"   | va :: "'b formula" where "x = Neg (Neg vaa__)"   | v :: "char list" and vc :: "'b trm list" and vb :: "'b formula" where "x = Neg (Or (Pred ve__ vcb__) vba__)"   | v :: "'b trm" and vc :: "'b trm" and vb :: "'b formula" where "x = Neg (Or (Eq vf__ vcc__) vbb__)"   | v :: "'b formula" and vc :: "'b formula" and vb :: "'b formula" where "x = Neg (Or (Or vg__ vcd__) vbc__)"   | v :: "'b formula" and vb :: "'b formula" where "x = Neg (Or (Exists vh__) vbd__)"   | v :: "\<I>" and vc :: "'b formula" and vb :: "'b formula" where "x = Neg (Or (Prev vi__ vce__) vbe__)"   | v :: "\<I>" and vc :: "'b formula" and vb :: "'b formula" where "x = Neg (Or (Next vj__ vcf__) vbf__)"   | v :: "'b formula" and vc :: "\<I>" and vd :: "'b formula" and vb :: "'b formula" where "x = Neg (Or (Since vk__ vcg__ vda__) vbg__)"   | v :: "'b formula" and vc :: "\<I>" and vd :: "'b formula" and vb :: "'b formula" where "x = Neg (Or (Until v vch__ vd) vbh__)"   | va :: "'b formula" where "x = Neg (Exists vab__)"   | va :: "\<I>" and vb :: "'b formula" where "x = Neg (Prev vac__ vbi__)"   | va :: "\<I>" and vb :: "'b formula" where "x = Neg (Next vad__ vbj__)"   | va :: "'b formula" and vb :: "\<I>" and vc :: "'b formula" where "x = Neg (Since vae__ vbk__ vci__)"   | va :: "'b formula" and vb :: "\<I>" and vc :: "'b formula" where "x = Neg (Until va vb vc)"