Skip to content
This repository has been archived by the owner on Jul 30, 2024. It is now read-only.

Is equal #2

Open
wants to merge 10 commits into
base: main
Choose a base branch
from
Open

Is equal #2

wants to merge 10 commits into from

Conversation

gracetian6
Copy link
Contributor

@gracetian6 gracetian6 commented Jul 12, 2021

The Is Equal function takes in a vector of type T and returns a boolean indicator vector of whether each element is equal to value.

This contains

  • pseudo code (old version not with preconditions)
  • mathematical proof (want comments on whether it makes sense)

Please look at is_equal pdf as you review the PR!

is_equal/is_equal.tex Outdated Show resolved Hide resolved
is_equal/is_equal.tex Outdated Show resolved Hide resolved

\begin{theorem}
For every setting of the input parameters to \texttt{make\_is\_equal}, the transformation returned by \texttt{make\_is\_equal} has the following properties
\begin{enumerate}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

need to add domain-metric compatibility

is_equal/is_equal.tex Outdated Show resolved Hide resolved

We want to show that $\abs{MultiSet(function(v)) \Delta MultiSet(function(w))} \leq d_{out}$. %\\$\abs{MultiSet(function(v))\Delta MultiSet(function(w))} = \norm{h_{is\_equal(v)} - h_{is\_equal(w)}}_1 \leq d_{out}$.
To do so, we consider the symmetric distance between the multiset transformations $function(v)$ and $function(w)$. We claim that for any pair of set elements $v^* \in Multiset(v)$ and $w^* \in Multiset(w)$ $$\abs{MultiSet(function(v)) \Delta MultiSet(function(w))} \leq \abs{MultiSet(v) \Delta MultiSet(w)}$$
We consider 4 cases.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this sentence doesn't parse. It says "We claim that for any pair v^* and w^, STATEMENT holds", but STATEMENT makes no reference to v^ and w^*.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you are trying to use the Path Property for SymmetricDistance, but you need to do so formally (referring to the defs and lemmas in the proof_defns doc) if you want to do that. Else you can follow the simplified proof outline I suggested in clamp.tex.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Got it, will look at path property to formalize this proof.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You may find the proof strategy suggested in clamp.tex to be simpler than using the path property.

@gracetian6
Copy link
Contributor Author

gracetian6 commented Jul 23, 2021

New edits of 7/26 include

  • updated style that includes preconditions, post conditions, and \texttt style for words
  • Domain Metric Compatability
  • Changed stability relation proof to use histogram notation & triangle inequality

I'm planning to update with a new round of edits using the new proof outline Salil suggested for row by row transformations. Will need to push new changes for the make_row_by_row transformation and it's corresponding pseudocode and proofs.

PRIORITIZE: does the proof for appropriate output domain make sense?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants