fact: Fixpoint beq' {A B: Type} (beq_elt: A -> B -> bool) (m1 : ptrie A) (m2: ptrie B): bool := match m1, m2 with | Empty, Empty => true | Leaf k1 v1, Leaf k2 v2 => eqb k1 k2 && beq_elt v1 v2 | Branch p1 brbit1 l1 r1, Branch p2 brbit2 l2 r2 => eqb p1 p2 && eqb brbit1 brbit2 && beq' beq_elt l1 l2 && beq' beq_elt r1 r2 | _, _ => false end.
imports: List Bool ZArith Lia