Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added proof for fun::inv::inv_eq #1727

Merged
merged 1 commit into from
May 26, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Added proof for fun::inv::inv_eq
  • Loading branch information
bvssvni committed May 26, 2023
commit 6c56bffb2e5df986409a08e6288266ccd2f3c78c
4 changes: 2 additions & 2 deletions src/fun/inv.rs
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,6 @@ pub fn inv_val_qu<F: Prop, A: Prop, B: Prop>(
pub fn inv_involve<F: Prop>(_: Inv<Inv<F>>) -> F {unimplemented!()}
/// `f => inv(inv(f))`.
pub fn involve_inv<F: Prop>(_: F) -> Inv<Inv<F>> {unimplemented!()}
/// `(f == g) => inv(f) == inv(g)`.
pub fn inv_eq<F: Prop, G: Prop>(_: Eq<F, G>) -> Eq<Inv<F>, Inv<G>> {unimplemented!()}
/// `~f => ~inv(f)`.
pub fn inv_qu<F: Prop>(_: Qu<F>) -> Qu<Inv<F>> {unimplemented!()}
/// `(inv(f) == f) => (inv(f) ~~ f)`.
Expand Down Expand Up @@ -137,6 +135,8 @@ pub fn inv_rev_qu<F: Prop>(x: Qu<Inv<F>>) -> Qu<F> {qu_rev_double(inv_qu(x))}
pub fn eq_qu_inv<F: Prop>() -> Eq<Qu<F>, Qu<Inv<F>>> {
(Rc::new(inv_qu), Rc::new(inv_rev_qu))
}
/// `(f == g) => inv(f) == inv(g)`.
pub fn inv_eq<F: Prop, G: Prop>(x: Eq<F, G>) -> Eq<Inv<F>, Inv<G>> {app_eq(x)}
/// `~inv(f) ⋀ (f == g)^true => ~inv(g)`.
pub fn qu_inv_tauto_eq_to_qu_inv<F: Prop, G: Prop>(
x: Qu<Inv<F>>,
Expand Down