fact: Fixpoint remove' {A: Type} (i: key) (t: ptrie A) := match t with | Empty => Empty | Leaf k v => if eqb k i then Empty else t | Branch p m l r => if match_prefix i p m then if zerobit i m then branch p m (remove' i l) r else branch p m l (remove' i r) else t end.
imports: List Bool ZArith Lia