You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In this section, we present the formalization of the bit heap data structure as well as the underlying hardware-level constructs and compression algorithms in Lean 4.
392
+
In this section, we present the formalization of the bit heap data structure in Lean 4 and prove the correctness of existing compression algorithms.
410
393
We also discuss the correctness of the composition of adders and how we relate bit heaps to bit-vector arithmetic.
411
-
\sam{I'd be more concise here - "In this section, we present the formalization of the bit heap data structure in Lean 4 and prove the correctness of existing compression algorithms."}
412
394
\sam{I'd also add a short statement that because we're formalizing in Lean the reader will find that we're turning to recursive definitions a lot - as this allows for simpler proofs.}
413
395
414
-
415
-
\subsection{Circuit}
416
-
The building block of the bit heap data structure is a single bit.
417
-
In our formalization, the Circuit data structure represent a boolean expression, that is named by a natural-number index.
396
+
\subsection{\Circ}
397
+
The building block of the bit heap data structure is a single bit.
398
+
In our formalization, the \Circ data structure represent a boolean expression, that is named by a natural-number index.
418
399
\sam{Circuit is not a data structure, it is a language. Also you've got inconsistent presentation of Circuit (vs \texttt{Circuit}) - consistency is essential so I'd suggest creating a macro.}
419
400
420
-
A \texttt{Circuit} describes a logical expression, that can be a binary variable, constant, or any binary operation over composition Circuit objects.
421
-
The bits represented by \texttt{Circuit} are symbolic and do not hold any value.
422
-
A Circuit is assigned a value under a bit environment $\sigma$,
423
-
which maps the \texttt{Circuit} to Boolean values.
401
+
A \Circ describes a logical expression, that can be a binary variable, constant, or any binary operation over composition \Circ objects.
402
+
The bits represented by \Circ are symbolic and do not hold any value.
403
+
A \Circ is assigned a value under a bit environment $\sigma$,
404
+
which maps the \Circ to Boolean values.
424
405
\sam{The bit environment maps a symbolic bit to a boolean value - not an arbitrary \texttt{Circuit}. The mapping of higher-level expressions is handled by your semantics.}
425
406
426
407
\[
@@ -456,8 +437,7 @@ \subsection{Circuit}
456
437
\sam{Currently this just looks like a semantics of Boolean arithmetic - so it may not be necessary to spell it out so much.}
457
438
\subsection{Bit Heap Data Structure}
458
439
A bit heap of width $w$ is a vector of $w$ columns, where the column at index $k$ holds the bits of weight $2^k$.
459
-
A \texttt{Column} is a set of \texttt{Circuit} elements.
460
-
\sam{Inconsistent formatting of column.}
440
+
A \Col is a set of \Circ elements.
461
441
\[
462
442
\begin{array}{r@{\;}c@{\;}l@{\qquad}l}
463
443
\Col\ni\gamma &::=& \{c_0,\dots,c_n\} \\[2pt]
@@ -471,7 +451,7 @@ \subsection{Bit Heap Data Structure}
471
451
A \emph{column} is a set of circuits,
472
452
and a \emph{bit heap of width $w$} is a vector of $w$ columns,
\sam{You seem to give two definitions and they are not consistent - one shows a Vector the other looks like a set?}
@@ -566,8 +546,8 @@ \subsection{Bit Heap Data Structure}
566
546
\]
567
547
\end{theorem}
568
548
569
-
Since a \texttt{Column} is defined as a set, it cannot contain duplicates.
570
-
Therefore, if the same bit is added to a \texttt{Column} at index k, we propagete the bit to the next column, since $2^{k}c + 2^{k}c = 2^{k+1}c$, and the propagation repeats if the next column already contains the circuit as well.
549
+
Since a \Col is defined as a set, it cannot contain duplicates.
550
+
Therefore, if the same bit is added to a \Col at index k, we propagete the bit to the next column, since $2^{k}c + 2^{k}c = 2^{k+1}c$, and the propagation repeats if the next column already contains the circuit as well.
571
551
\sam{To distinguish between what is done automatically namely the bit propagation try to avoid saying "we" - this makes it sound like a manual process. Instead say "the bit is automatically propagted to the next column".}
572
552
Effectively the bit heap is optimized during its construction.
573
553
\autoref{thm:addBit} is proved by functional induction on \texttt{addBit}, following the carry propagation described above.
@@ -667,22 +647,17 @@ \section{Related Work}
667
647
Integrated into an existing HLS tool, Graphiti provides a verified rewriting engine that ensures the composition of verified rewrites refines the original behaviour.
668
648
\section{Conclusion}
669
649
670
-
%% Acknowledgments
671
-
\begin{acks} %% acks environment is optional
672
-
%% contents suppressed with 'anonymous'
673
-
%% Commands \grantsponsor{<sponsorID>}{<name>}{<url>} and
674
-
%% \grantnum[<url>]{<sponsorID>}{<number>} should be used to
675
-
%% acknowledge financial support and will be used by metadata
676
-
%% extraction tools.
677
-
This material is based upon work supported by the
678
-
\grantsponsor{GS100000001}{National Science
679
-
Foundation}{http://dx.doi.org/10.13039/100000001} under Grant
680
-
No.~\grantnum{GS100000001}{nnnnnnn} and Grant
681
-
No.~\grantnum{GS100000001}{mmmmmmm}. Any opinions, findings, and
682
-
conclusions or recommendations expressed in this material are those
683
-
of the author and do not necessarily reflect the views of the
650
+
%% Acknowledgments. IEEEtran has no \begin{acks} or \grantsponsor/\grantnum;
651
+
%% IEEE uses an unnumbered section. Suppressed for anonymous review.
652
+
\ifx\acmversion\acmversionanonymous
653
+
\else
654
+
\section*{Acknowledgments}
655
+
This material is based upon work supported by the National Science
656
+
Foundation under Grant No.~nnnnnnn and Grant No.~mmmmmmm. Any opinions,
657
+
findings, and conclusions or recommendations expressed in this material are
658
+
those of the author and do not necessarily reflect the views of the
0 commit comments