pub fn double<A: Prop>(a: A) -> Not<Not<A>>
a => ¬¬a.
a => ¬¬a
16 17 18
pub fn proof2<A: DProp>(npos_a: Not<Pos<A>>) -> Not<Nec<A>> { proof1(not::double(npos_a)) }