elims: fixes x :: "('b \<times> color) tree"   and xa :: "'b"   and xb :: "('b \<times> color) tree"   and y :: "('b \<times> color) tree" assumes "baliR 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 = t1__" and "xa = a__" and "xb = R t2__ b__ (R t3__ c__ t4)" and "y = R (B t1__ a__ t2__) b__ (B t3__ c__ t4)"   | 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" where "x = t1a__" and "xa = aa__" and "xb = R (R t2a__ ba__ t3a__) ca__ \<langle>\<rangle>" and "y = R (B t1a__ aa__ t2a__) ba__ (B t3a__ ca__ \<langle>\<rangle>)"   | 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 v :: "('b \<times> color) tree" and vc :: "'b" and vb :: "('b \<times> color) tree" where "x = t1b__" and "xa = ab__" and "xb = R (R t2 b t3) c (B v__ vc__ vb__)" and "y = R (B t1b__ ab__ t2) b (B t3 c (B v__ vc__ vb__))"   | t1 :: "('b \<times> color) tree" and a :: "'b" where "x = t1c__" and "xa = ac__" and "xb = \<langle>\<rangle>" and "y = B t1c__ ac__ \<langle>\<rangle>"   | t1 :: "('b \<times> color) tree" and a :: "'b" and v :: "('b \<times> color) tree" and vc :: "'b" and vb :: "('b \<times> color) tree" where "x = t1d__" and "xa = ad__" and "xb = B va__ vca__ vba__" and "y = B t1d__ ad__ (B va__ vca__ vba__)"   | t1 :: "('b \<times> color) tree" and a :: "'b" and va :: "'b \<times> color" where "x = t1e__" and "xa = ae__" and "xb = \<langle>\<langle>\<rangle>, vaa__, \<langle>\<rangle>\<rangle>" and "y = B t1e__ ae__ \<langle>\<langle>\<rangle>, vaa__, \<langle>\<rangle>\<rangle>"   | t1 :: "('b \<times> color) tree" and a :: "'b" and vb :: "('b \<times> color) tree" and ve :: "'b" and vd :: "('b \<times> color) tree" and va :: "'b \<times> color" where "x = t1f__" and "xa = af__" and "xb = \<langle>B vbb__ ve__ vd, vab__, \<langle>\<rangle>\<rangle>" and "y = B t1f__ af__ \<langle>B vbb__ ve__ vd, vab__, \<langle>\<rangle>\<rangle>"   | t1 :: "('b \<times> color) tree" and a :: "'b" and v :: "('b \<times> color) tree" and vb :: "'b" where "x = t1g__" and "xa = ag__" and "xb = B vf__ vbc__ \<langle>\<rangle>" and "y = B t1g__ ag__ (B vf__ vbc__ \<langle>\<rangle>)"   | t1 :: "('b \<times> color) tree" and a :: "'b" and va :: "'b \<times> color" and vc :: "('b \<times> color) tree" and vf :: "'b" and ve :: "('b \<times> color) tree" where "x = t1h__" and "xa = ah__" and "xb = \<langle>\<langle>\<rangle>, vac__, B vcb__ vfa__ vea__\<rangle>" and "y = B t1h__ ah__ \<langle>\<langle>\<rangle>, vac__, B vcb__ vfa__ vea__\<rangle>"   | t1 :: "('b \<times> color) tree" and a :: "'b" and vb :: "('b \<times> color) tree" and vh :: "'b" and vg :: "('b \<times> color) tree" and va :: "'b \<times> color" and vc :: "('b \<times> color) tree" and vf :: "'b" and ve :: "('b \<times> color) tree" where "x = t1i__" and "xa = ai__" and "xb = \<langle>B vbd__ vh vg, va, B vcc__ vfb__ veb__\<rangle>" and "y = B t1i__ ai__ \<langle>B vbd__ vh vg, va, B vcc__ vfb__ veb__\<rangle>"   | t1 :: "('b \<times> color) tree" and a :: "'b" and v :: "('b \<times> color) tree" and vb :: "'b" and vc :: "('b \<times> color) tree" and vf :: "'b" and ve :: "('b \<times> color) tree" where "x = t1" and "xa = a" and "xb = B v vb (B vc vf ve)" and "y = B t1 a (B v vb (B vc vf ve))"