Function prop::queenity::in_right_arg
source · pub fn in_right_arg<A: Prop, B: Prop, C: Prop>(
Sq: Sq<A, B>,
(g0, _): Eq<B, C>
) -> Sq<A, C>
Expand description
(a ¬> b) ∧ (b == c) => (a ¬> c)
.
Examples found in repository?
examples/sq_uniq.rs (line 24)
17 18 19 20 21 22 23 24 25 26 27 28 29 30
pub fn dominating_queen<A: Prop, B: Prop, C: Prop>(
sq_ac: Sq<A, C>,
uniq_sq_ab: impl UniqSq<A, B>,
eq_q_bc: EqQ<B, C>,
) -> False {
let eq_cb = uniq_sq_ab.uniq_sq(sq_ac.clone());
let eq_bc = eq::symmetry(eq_cb.clone());
let sq_ab = queenity::in_right_arg(sq_ac, eq_cb);
let q_bc = eq_q_bc(eq_bc);
let q_bb = quality::left(q_bc);
let sq_bb = queenity::sq_right(sq_ab);
let sesh_bb = queenity::to_sesh(sq_bb);
sesh_bb(q_bb)
}