proposition: Fact rbalS_match l x r : rspec (fun a y b => Rd l x (Bk a y b)) (fun r => match l with | Bk a y b => lbal (Rd a y b) x r | Rd a y (Bk b z c) => Rd (lbal (makeRed a) y b) z (Bk c x r) | _ => Rd l x r end) r (rbalS l x r).
proof: Proof. exact (rmatch _ _ _). Qed.
imports: Bool List BinPos Pnat Setoid SetoidList PeanoNat