pub fn verify_proof_over_cap<F: SmallField, H: RecursiveTreeHasher<F, Num<F>>, CS: ConstraintSystem<F>>(
    cs: &mut CS,
    proof: &[H::CircuitOutput],
    cap: &[H::CircuitOutput],
    leaf_hash: &H::CircuitOutput,
    path: &[Boolean<F>],
) -> Boolean<F>