elims: fixes x :: "('b \<times> color) tree"   and xa :: "'b"   and xb :: "('b \<times> color) tree"   and y :: "('b \<times> color) tree" assumes "baliL x xa xb = y" obtains t1 :: "('b \<times> color) tree" and a :: "'b" and t2 :: "('b \<times> color) tree" and b :: "'b" and t3 :: "('b \<times> color) tree" and c :: "'b" and t4 :: "('b \<times> color) tree" where "x = R (R t1 a__ t2__) b__ t3__" and "xa = c__" and "xb = t4__" and "y = R (B t1 a__ t2__) b__ (B t3__ c__ t4__)"   | a :: "'b" and t2 :: "('b \<times> color) tree" and b :: "'b" and t3 :: "('b \<times> color) tree" and c :: "'b" and t4 :: "('b \<times> color) tree" where "x = R \<langle>\<rangle> aa__ (R t2a__ ba__ t3a__)" and "xa = ca__" and "xb = t4a__" and "y = R (B \<langle>\<rangle> aa__ t2a__) ba__ (B t3a__ ca__ t4a__)"   | v :: "('b \<times> color) tree" and vc :: "'b" and vb :: "('b \<times> color) tree" and a :: "'b" and t2 :: "('b \<times> color) tree" and b :: "'b" and t3 :: "('b \<times> color) tree" and c :: "'b" and t4 :: "('b \<times> color) tree" where "x = R (B v__ vc__ vb__) ab__ (R t2b__ b t3)" and "xa = c" and "xb = t4" and "y = R (B (B v__ vc__ vb__) ab__ t2b__) b (B t3 c t4)"   | a :: "'b" and t2 :: "('b \<times> color) tree" where "x = \<langle>\<rangle>" and "xa = ac__" and "xb = t2c__" and "y = B \<langle>\<rangle> ac__ t2c__"   | v :: "'b" and vb :: "('b \<times> color) tree" and a :: "'b" and t2 :: "('b \<times> color) tree" where "x = B \<langle>\<rangle> va__ vba__" and "xa = ad__" and "xb = t2d__" and "y = B (B \<langle>\<rangle> va__ vba__) ad__ t2d__"   | va :: "'b \<times> color" and a :: "'b" and t2 :: "('b \<times> color) tree" where "x = \<langle>\<langle>\<rangle>, vaa__, \<langle>\<rangle>\<rangle>" and "xa = ae__" and "xb = t2e__" and "y = B \<langle>\<langle>\<rangle>, vaa__, \<langle>\<rangle>\<rangle> ae__ t2e__"   | va :: "'b \<times> color" and v :: "('b \<times> color) tree" and ve :: "'b" and vd :: "('b \<times> color) tree" and a :: "'b" and t2 :: "('b \<times> color) tree" where "x = \<langle>\<langle>\<rangle>, vab__, B vd__ ve__ vd\<rangle>" and "xa = af__" and "xb = t2f__" and "y = B \<langle>\<langle>\<rangle>, vab__, B vd__ ve__ vd\<rangle> af__ t2f__"   | vc :: "('b \<times> color) tree" and vf :: "'b" and ve :: "('b \<times> color) tree" and v :: "'b" and vb :: "('b \<times> color) tree" and a :: "'b" and t2 :: "('b \<times> color) tree" where "x = B (B vca__ vf__ vea__) vg__ vbb__" and "xa = ag__" and "xb = t2g__" and "y = B (B (B vca__ vf__ vea__) vg__ vbb__) ag__ t2g__"   | vc :: "('b \<times> color) tree" and vf :: "'b" and ve :: "('b \<times> color) tree" and va :: "'b \<times> color" and a :: "'b" and t2 :: "('b \<times> color) tree" where "x = \<langle>B vcb__ vfa__ veb__, vac__, \<langle>\<rangle>\<rangle>" and "xa = ah__" and "xb = t2h__" and "y = B \<langle>B vcb__ vfa__ veb__, vac__, \<langle>\<rangle>\<rangle> ah__ t2h__"   | vc :: "('b \<times> color) tree" and vf :: "'b" and ve :: "('b \<times> color) tree" and va :: "'b \<times> color" and v :: "('b \<times> color) tree" and vh :: "'b" and vg :: "('b \<times> color) tree" and a :: "'b" and t2 :: "('b \<times> color) tree" where "x = \<langle>B vcc__ vf ve, va, B vh__ vh vg\<rangle>" and "xa = ai__" and "xb = t2i__" and "y = B \<langle>B vcc__ vf ve, va, B vh__ vh vg\<rangle> ai__ t2i__"   | v :: "('b \<times> color) tree" and vc :: "'b" and vb :: "('b \<times> color) tree" and a :: "'b" and t2 :: "('b \<times> color) tree" where "x = B v vc vb" and "xa = a" and "xb = t2" and "y = B (B v vc vb) a t2"