Skip to content

Commit

Permalink
Make hooo_dual_rev_neq require excluded middle for A, B
Browse files Browse the repository at this point in the history
  • Loading branch information
bvssvni committed Dec 17, 2022
1 parent 2fe2460 commit 13953fd
Showing 1 changed file with 4 additions and 3 deletions.
7 changes: 4 additions & 3 deletions src/hooo.rs
Original file line number Diff line number Diff line change
Expand Up @@ -367,10 +367,11 @@ pub fn hooo_dual_neq<A: Prop, B: Prop, C: Prop>(
) -> Eq<Pow<C, A>, Pow<C, B>> {pow()(x)}

/// `(c^a == c^b) => c^(¬(a == b))`.
pub fn hooo_dual_rev_neq<A: Prop, B: Prop, C: Prop>(
x: Eq<Pow<C, A>, Pow<C, B>>
pub fn hooo_dual_rev_neq<A: DProp, B: DProp, C: Prop>(
(x0, x1): Eq<Pow<C, A>, Pow<C, B>>
) -> Pow<C, NEq<A, B>> {
pow_not(Rc::new(move |y| hooo_dual_eq(y)(x.clone())))
let y = hooo_dual_rev_or((hooo_dual_rev_nrimply(x0), hooo_dual_rev_nrimply(x1)));
pow_transitivity(eq::neq_symmetry, pow_transitivity(or::from_de_morgan, y))
}

/// `(a => b)^c => (a^c => b^c)`.
Expand Down

0 comments on commit 13953fd

Please sign in to comment.