<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"><title>Random Ramblings</title><link href="https://josephmckinsey.com/" rel="alternate"></link><link href="https://josephmckinsey.com/feeds/all.atom.xml" rel="self"></link><id>https://josephmckinsey.com/</id><updated>2026-01-16T18:36:00-07:00</updated><entry><title>Safe JSON in Lean: json-schema-lean or subtyping</title><link href="https://josephmckinsey.com/jsonschemalean.html" rel="alternate"></link><published>2026-01-16T18:36:00-07:00</published><updated>2026-01-16T18:36:00-07:00</updated><author><name>Joseph McKinsey</name></author><id>tag:josephmckinsey.com,2026-01-16:/jsonschemalean.html</id><summary type="html">Announcement for json-schema-lean and explorations with subtyping</summary><content type="html">
    &lt;base href="./"&gt;&lt;style&gt;:root {
    /** Typography **/
    /* The font family used for headers, ToC entries, etc */
    --verso-structure-font-family: "Helvetica Neue","Segoe UI", "Roboto", Arial,sans-serif;
    /* The font family used for body text */
    --verso-text-font-family: "Helvetica Neue","Segoe UI", "Roboto", Arial,sans-serif;
    /* The font family used for code */
    --verso-code-font-family: monospace;

    /** Text colors **/
    --verso-text-color: black;
    --verso-code-color: black;
    --verso-structure-color: black;

    /** Selected items (e.g. search results) */
    --verso-selected-color: #def;

    /** Message colors **/
    /*
    These colors are used to render Lean's feedback. They come in three severities and two
    variants. The raw color itself is used for the text of a message of the indicated severity,
    while the presence of such a message is indicated using the indicator color (e.g. via a
    wavy underline or a bar in the margin).
    */
    --verso-info-color: black;
    --verso-info-indicator-color: #4777ff;
    --verso-warning-color: black;
    --verso-warning-indicator-color: #e7a71d; /* 2.11 contrast ratio for white, 9.94 for black */
    --verso-error-color: #cc0000;
    --verso-error-indicator-color: #ff0000;

    /** Code Highlighting **/
    /*
    These variables control the rendering of Lean code emitted by Verso. Each category that can be
    highlighted supports the customization of color, weight, style, and family.
    */
    /* Constants (e.g. `List` or `id` or `none`) */
    --verso-code-const-color: var(--verso-code-color);
    --verso-code-const-weight: normal;
    --verso-code-const-style: normal;
    --verso-code-const-font-family: var(--verso-code-font-family);

    /* Keywords/atoms (e.g. `for` or `def` or `induction`) */
    --verso-code-keyword-color: var(--verso-code-color);
    --verso-code-keyword-weight: bold;
    --verso-code-keyword-style: normal;
    --verso-code-keyword-font-family: var(--verso-code-font-family);

    /* Local bindings (e.g. `x` in `let x := 5`) */
    --verso-code-var-color: var(--verso-code-color);
    --verso-code-var-weight: normal;
    --verso-code-var-style: italic;
    --verso-code-kw-font-family: var(--verso-code-font-family);

}
&lt;/style&gt;&lt;style&gt;


.hl.lean {
  white-space: pre;
  font-weight: normal;
  font-style: normal;
  font-size: inherit;
}

.hl.lean .keyword {
  color: var(--verso-code-keyword-color,);
  font-weight: var(--verso-code-keyword-weight, bold);
  font-style: var(--verso-code-keyword-style, normal);
  font-family: var(--verso-code-keyword-font-family,);
}

.hl.lean .const {
  color: var(--verso-code-const-color,);
  font-weight: var(--verso-code-const-weight, normal);
  font-style: var(--verso-code-const-style, normal);
  font-family: var(--verso-code-const-font-family,);
}

.hl.lean .var {
  color: var(--verso-code-var-color,);
  font-weight: var(--verso-code-var-weight, normal);
  font-style: var(--verso-code-var-style, italic);
  font-family: var(--verso-code-var-font-family,);

  position: relative;
}

.hl.lean .literal, .hl.lean .unknown {
  color: var(--verso-code-color,);
  font-weight: normal;
  font-style: normal;
  font-family: var(--verso-code-font-family,);
}

.hover-container {
  width: 0;
  height: 0;
  position: relative;
  display: inline;
}

.hl.lean a {
  color: inherit;
  text-decoration: currentcolor underline dotted;
}

.hl.lean a:hover {
  text-decoration: currentcolor underline solid;
}

.hl.lean .hover-info {
  white-space: normal;
}

.hl.lean .token .hover-info {
  display: none;
  position: absolute;
  background-color: #e5e5e5;
  border: 1px solid black;
  padding: 0.5rem;
  z-index: 300;
}

.hl.lean .hover-info.messages {
  max-height: 10rem;
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-gutter: stable;
  padding: 0 0.5rem 0 0;
  display: block;
}

.hl.lean .hover-info code {
  white-space: pre-wrap;
  background: none;
  color: black;
}

.hl.lean .hover-info.messages &gt; code {
  padding: 0.5rem;
  display: block;
  width: fit-content;
}

.hl.lean .hover-info.messages &gt; code:only-child {
  margin: 0;
}

.hl.lean .hover-info.messages &gt; code {
  margin: 0.1rem;
}

.hl.lean .hover-info.messages &gt; code:not(:first-child) {
  margin-top: 0rem;
}

.hl.lean {
}

.hl.lean.block {
  display: block;
}

.hl.lean.inline {
  display: inline;
  white-space: pre-wrap;
}

.hl.lean * {
}

.hl.lean .token {
  transition: all 0.25s; /* Slight fade for highlights */
}

@media (hover: hover) {
  .hl.lean .token.binding-hl, .hl.lean .literal.string:hover, .hl.lean .token.typed:hover {
    background-color: #eee;
    border-radius: 2px;
    transition: none;
  }
}


.hl.lean .has-info .token:not(.tactic-state):not(.tactic-state *), .hl.lean .has-info .inter-text:not(.tactic-state):not(.tactic-state *) {
  text-decoration-style: wavy;
  text-decoration-line: underline;
  text-decoration-thickness: from-font;
  text-decoration-skip-ink: none;
}

.hl.lean .has-info .hover-info {
  display: none;
  position: absolute;
  transform: translate(0.25rem, 0.3rem);
  border: 1px solid black;
  padding: 0.5rem;
  z-index: 400;
  text-align: left;
}

.hl.lean .has-info.error :not(.tactic-state):not(.tactic-state *){
  text-decoration-color: red;
}

@media (hover: hover) {
  .hl.lean .has-info.error:hover {
    background-color: #ffb3b3;
  }
}

.hl.lean .hover-info.messages &gt; code.error {
  background-color: #e5e5e5;
  border-left: 0.2rem solid #ffb3b3;
}

.tippy-box[data-theme~='error'] .hl.lean .hover-info.messages &gt; code.error {
  background: none;
  border: none;
}

.error .verso-message, .error .verso-message .token, .error .verso-message label {
  color: var(--verso-error-color);
}

.error .verso-message .case-label:has(input[type="checkbox"])::before {
  background-color: var(--verso-error-color) !important;
}

.hl.lean .has-info.warning :not(.tactic-state):not(.tactic-state *) {
  text-decoration-color: var(--verso-warning-indicator-color);
}

@media (hover: hover) {
  .hl.lean .has-info.warning:hover {
    background-color:var(--verso-warning-color);
  }
}

.hl.lean .hover-info.messages &gt; code.warning {
  background-color: var(--verso-warning-color);
}

.lean-output {
  border-left: 0.2em solid transparent;
  padding: 0 0 0 0.5em;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.lean-output.error {
  border-color: var(--verso-error-indicator-color);
}

.lean-output.information {
  border-color: var(--verso-info-indicator-color);
}

.lean-output.warning {
  border-color: var(--verso-warning-indicator-color);
}

.hl.lean .hover-info.messages &gt; code.error {
  background-color: #e5e5e5;
  border-left: 0.2rem solid var(--verso-warning-color);
}

.tippy-box[data-theme~='warning'] .hl.lean .hover-info.messages &gt; code.warning {
  background: none;
  border: none;
}


.hl.lean .has-info.information :not(.tactic-state):not(.tactic-state *) {
  text-decoration-color: var(--verso-info-indicator-color, blue);
}

@media (hover: hover) {
  .hl.lean .has-info.information:hover {
    background-color: #4777ff;
  }
}


.hl.lean .hover-info.messages &gt; code.information {
  background-color: #e5e5e5;
  border-left: 0.2rem solid #4777ff;
}

.tippy-box[data-theme~='info'] .hl.lean .hover-info.messages &gt; code.information {
  background: none;
  border: none;
}

.hl.lean div.docstring {
  font-family: var(--verso-text-font-family, sans-serif);
  white-space: normal;
  max-width: calc(min(40rem, 90vw));
  width: max-content;
}

.hl.lean div.docstring &gt; :last-child {
  margin-bottom: 0;
}

.hl.lean div.docstring &gt; :first-child {
  margin-top: 0;
}

.hl.lean .hover-info .sep {
  display: block;
  width: auto;
  margin-left: 1rem;
  margin-right: 1rem;
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  padding: 0;
  height: 1px;
  border-top: 1px solid #ccc;
}

.hl.lean code {
  font-family: var(--verso-code-font-family);
}

.hl.lean .tactic-state {
  display: none;
  position: relative;
  width: fit-content;
  border: 1px solid #888888;
  border-radius: 0.1rem;
  padding: 0.5rem;
  font-family: sans-serif;
  background-color: #ffffff;
}

.hl.lean.popup .tactic-state {
  position: static;
  display: block;
  width: auto;
  border: none;
  padding: 0.5rem;
  font-family: sans-serif;
  background-color: #ffffff;
}


.hl.lean .tactic {
  position: relative;
  display: inline;
  vertical-align: top;
  /* Without these, mobile Safari will start making font sizes inconsistent when its text size adjustment feature is triggered.*/
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

.hl.lean .tactic:has(.tactic-toggle:checked) {
  display: inline-grid;
  grid-template-columns: 1fr;
}

.hl.lean .tactic-toggle:checked ~ .tactic-state {
  display: inline-block;
  vertical-align: top;
  grid-row: 2;
  justify-self: start;
}

.hl.lean .tactic &gt; label {
  position: relative;
  grid-row: 1;
  display: inline;
}

@media (hover: hover) {
  .hl.lean .tactic:has(.tactic-toggle:not(:checked)) &gt; label:hover {
    background-color: #eeeeee;
  }
}

.hl.lean .tactic-toggle {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  height: 0;
  width: 0;
  z-index: -10;
}

.hl.lean .tactic &gt; label::after {
  content: "";
  border: 1px solid #bbbbbb;
  /* These need to be em, not rem, to scale with the font */
  border-radius: 1em;
  height: 0.25em;
  vertical-align: middle;
  width: 0.6em;
  margin-left: 0.1em;
  margin-right: 0.1em;
  display: inline-block;
  transition: all 0.5s;
}

/*
@media (hover: hover) {
  .hl.lean .tactic &gt; label:hover::after {
    border: 1px solid #aaaaaa;
    background-color: #aaaaaa;
    transition: all 0.5s;
  }
}
*/

.hl.lean .tactic &gt; label:has(+ .tactic-toggle:checked)::after {
  border: 1px solid #999999;
  background-color: #999999;
  transition: all 0.5s;
}

.hl.lean .tactic-state .goal + .goal {
  margin-top: 1.5em;
}

/*
Some CSS frameworks customize details/summary in ways not compatible with Verso's output.
*/

.hl.lean details {
  display: block !important;
  margin: 0;
}

.hl.lean details summary {
  display: list-item !important;
  margin: 0;
}

.hl.lean details summary:focus {
  outline: none;
  outline-offset: none;
  color: inherit;
}

.hl.lean ul &gt; li {
  margin-bottom: 0;
}

.hl.lean details summary::marker {
  display: inline !important;
}

.hl.lean details &gt; summary:first-of-type {
  list-style-type: disclosure-closed;
  list-style-position: inside;
}

.hl.lean details[open] &gt; summary:first-of-type {
  list-style-type: disclosure-open;
}

.hl.lean details summary::before, .hl.lean details summary::after {
  content: "" !important;
  background: none;
  display: none;
}

.hl.lean .tactic-state summary {
  /* These need to be em, not rem, to scale with the font */
  margin-left: -0.5em;
}

.hl.lean .tactic-state details {
  /* These need to be em, not rem, to scale with the font */
  padding-left: 0.5em;
}

.hl.lean .case-label {
  display: block;
  position: relative;
}

.hl.lean .case-label input[type="checkbox"] {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  height: 0;
  width: 0;
  z-index: -10;
}

.hl.lean .case-label:has(input[type="checkbox"])::before {
  display: inline-block;
  background-color: black;
  content: ' ';
  transition: ease 0.2s;
  margin-right: 0.7em;
  clip-path: polygon(100% 0, 0 0, 50% 100%);
  width: 0.6em;
  height: 0.6em;
  vertical-align: middle;
}

.hl.lean .case-label:has(input[type="checkbox"]:not(:checked))::before {
  transform: rotate(-90deg);
}

.hl.lean .case-label:has(input[type="checkbox"]) {

}

.hl.lean .case-label:has(input[type="checkbox"]:checked) {

}


.hl.lean .labeled-case &gt; :not(:first-child) {
  max-height: 0px;
  display: block;
  overflow: hidden;
  transition: max-height 0.1s ease-in;
  /* These need to be em, not rem, to scale with the font */
  margin-left: 0.5em;
  margin-top: 0.1em;
}

.hl.lean .labeled-case:has(.case-label input[type="checkbox"]:checked) &gt; :not(:first-child) {
  max-height: 100%;
}


.hl.lean .goal-name::before {
  font-style: normal;
  content: "case ";
}

.hl.lean .goal-name {
  font-style: italic;
  font-family: var(--verso-code-font-family);
  color: inherit;
}

.hl.lean .hypotheses {
  display: table;
}

.hl.lean .hypothesis {
  display: table-row;
}

.hl.lean .hypothesis &gt; * {
  display: table-cell;
}


.hl.lean .hypotheses .colon {
  text-align: center;
  /* This needs to be em, not rem, to scale with the font */
  min-width: 1em;
}

.hl.lean .hypotheses .name {
  text-align: right;
}

.hl.lean .hypotheses .name,
.hl.lean .hypotheses .type,
.hl.lean .conclusion .type {
  font-family: var(--verso-code-font-family);
}

.tippy-box {
  /* Without these, mobile Safari will start making font sizes inconsistent when its text size adjustment feature is triggered.*/
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;

}

.tippy-box[data-theme~='lean'] {
  background-color: #e5e5e5;
  color: black;
  border: 1px solid black;
}
.tippy-box[data-theme~='lean'][data-placement^='top'] &gt; .tippy-arrow::before {
  border-top-color: #e5e5e5;
}
.tippy-box[data-theme~='lean'][data-placement^='bottom'] &gt; .tippy-arrow::before {
  border-bottom-color: #e5e5e5;
}
.tippy-box[data-theme~='lean'][data-placement^='left'] &gt; .tippy-arrow::before {
  border-left-color: #e5e5e5;
}
.tippy-box[data-theme~='lean'][data-placement^='right'] &gt; .tippy-arrow::before {
  border-right-color: #e5e5e5;
}

.tippy-box[data-theme~='message'][data-placement^='top'] &gt; .tippy-arrow::before {
  border-top-color: #e5e5e5;
  border-width: 11px 11px 0;
}
.tippy-box[data-theme~='message'][data-placement^='top'] &gt; .tippy-arrow::after {
  bottom: -11px;
  border-width: 11px 11px 0;
}
.tippy-box[data-theme~='message'][data-placement^='bottom'] &gt; .tippy-arrow::before {
  border-width: 0 11px 11px;
}
.tippy-box[data-theme~='message'][data-placement^='bottom'] &gt; .tippy-arrow::after {
  top: -11px;
  border-width: 0 11px 11px;
}
.tippy-box[data-theme~='message'][data-placement^='left'] &gt; .tippy-arrow::before {
  border-left-color: #e5e5e5;
  border-width: 11px 0 11px 11px;
}
.tippy-box[data-theme~='message'][data-placement^='left'] &gt; .tippy-arrow::after {
  right: -11px;
  border-width: 11px 0 11px 11px;
}

.tippy-box[data-theme~='message'][data-placement^='right'] &gt; .tippy-arrow::before {
  border-right-color: #e5e5e5;
  border-width: 11px 11px 11px 0;
}
.tippy-box[data-theme~='message'][data-placement^='right'] &gt; .tippy-arrow::after {
  left: -11px;
  border-width: 11px 11px 11px 0;
}



.tippy-box[data-theme~='warning'] {
  background-color: #e5e5e5;
  color: black;
  border: 3px solid var(--verso-warning-color);
}

.tippy-box[data-theme~='error'] {
  background-color: #e5e5e5;
  color: black;
  border: 3px solid #f7a7af;
}

.tippy-box[data-theme~='info'] {
  background-color: #e5e5e5;
  color: black;
  border: 3px solid #99b3c2;
}

.tippy-box[data-theme~='tactic'] {
  background-color: white;
  color: black;
  border: 1px solid black;
}
.tippy-box[data-theme~='tactic'][data-placement^='top'] &gt; .tippy-arrow::before {
  border-top-color: white;
}
.tippy-box[data-theme~='tactic'][data-placement^='bottom'] &gt; .tippy-arrow::before {
  border-bottom-color: white;
}
.tippy-box[data-theme~='tactic'][data-placement^='left'] &gt; .tippy-arrow::before {
  border-left-color: white;
}
.tippy-box[data-theme~='tactic'][data-placement^='right'] &gt; .tippy-arrow::before {
  border-right-color: white;
}

.extra-doc-links {
  list-style-type: none;
  margin-left: 0;
  padding: 0;
}

.extra-doc-links &gt; li {
  display: inline-block;
}

.extra-doc-links &gt; li:not(:last-child)::after {
  content: '|';
  display: inline-block;
  margin: 0 0.25em;
}

.verso-message .trace {
  display: block;
}

.verso-message .trace &gt; summary::marker {
  color: var(--verso-text-color);
}

.verso-message .trace-children {
  margin: 0;
  padding: 0;
}

.verso-message .trace-children &gt; li {
  list-style-type: none;
  margin-left: 1.5em;
}

.verso-message .trace-children &gt; li:not(:has(.trace)) {
  margin-left: 0;
}

.verso-message .trace-class {
  color: color-mix(in srgb, currentColor 70%, transparent);
  font-weight: bold;
  margin: 0;
  padding: 0;
}

.verso-message .text {
  white-space: pre-wrap;
}


&lt;/style&gt;
&lt;script&gt;
      
document.addEventListener("DOMContentLoaded", () =&gt; {
    for (const m of document.querySelectorAll(".math.inline")) {
        katex.render(m.textContent, m, {throwOnError: false, displayMode: false});
    }
    for (const m of document.querySelectorAll(".math.display")) {
        katex.render(m.textContent, m, {throwOnError: false, displayMode: true});
    }
});
&lt;/script&gt;
    
&lt;script&gt;
      

window.onload = () =&gt; {

    // Don't show hovers inside of closed tactic states
    function blockedByTactic(elem) {
      let parent = elem.parentNode;
      while (parent &amp;&amp; "classList" in parent) {
        if (parent.classList.contains("tactic")) {
          const toggle = parent.querySelector("input.tactic-toggle");
          if (toggle) {
            return !toggle.checked;
          }
        }
        parent = parent.parentNode;
      }
      return false;
    }

    function blockedByTippy(elem) {
      // Don't show a new hover until the old ones are all closed.
      // Scoped to the nearest "top-level block" to avoid being O(n) in the size of the document.
      var block = elem;
      const topLevel = new Set(["section", "body", "html", "nav", "header"]);
      while (block.parentNode &amp;&amp; !topLevel.has(block.parentNode.nodeName.toLowerCase())) {
        block = block.parentNode;
      }
      for (const child of block.querySelectorAll(".token, .has-info")) {
        if (child._tippy &amp;&amp; child._tippy.state.isVisible) { return true };
      }
      return false;
    }

    for (const c of document.querySelectorAll(".hl.lean .token")) {
        if (c.dataset.binding != "") {
            c.addEventListener("mouseover", (event) =&gt; {
                if (blockedByTactic(c)) {return;}
                const context = c.closest(".hl.lean").dataset.leanContext;
                for (const example of document.querySelectorAll(".hl.lean")) {
                    if (example.dataset.leanContext == context) {
                        for (const tok of example.querySelectorAll(".token")) {
                            if (c.dataset.binding == tok.dataset.binding) {
                                tok.classList.add("binding-hl");
                            }
                        }
                    }
                }
            });
        }
        c.addEventListener("mouseout", (event) =&gt; {
            for (const tok of document.querySelectorAll(".hl.lean .token")) {
                tok.classList.remove("binding-hl");
            }
        });
    }
    /* Render docstrings */
    if ('undefined' !== typeof marked) {
        for (const d of document.querySelectorAll("code.docstring, pre.docstring")) {
            const str = d.innerText;
            const html = marked.parse(str);
            const rendered = document.createElement("div");
            rendered.classList.add("docstring");
            rendered.innerHTML = html;
            d.parentNode.replaceChild(rendered, d);
        }
    }
    // Add hovers
    let docsJson = "/jsonschemalean/verso-docs.json";
    fetch(docsJson).then((resp) =&gt; resp.json()).then((versoDocData) =&gt; {

      function hideParentTooltips(element) {
        let parent = element.parentElement;
        while (parent) {
          const tippyInstance = parent._tippy;
          if (tippyInstance) {
            tippyInstance.hide();
          }
          parent = parent.parentElement;
        }
      }



      const defaultTippyProps = {
        /* DEBUG -- remove the space: * /
        onHide(any) { return false; },
        trigger: "click",
        // */
        /* theme: "lean", */
        maxWidth: "none",
        appendTo: () =&gt; document.body,
        interactive: true,
        delay: [100, null],
        /* ignoreAttributes: true, */
        followCursor: 'initial',
        onShow(inst) {
          if (inst.reference.className == 'tactic') {

            const toggle = inst.reference.querySelector("input.tactic-toggle");
            if (toggle &amp;&amp; toggle.checked) {
              return false;
            }
            hideParentTooltips(inst.reference);
            //if (blockedByTippy(inst.reference)) { return false; }

          } else if (inst.reference.querySelector(".hover-info") || "versoHover" in inst.reference.dataset) {
            if (blockedByTactic(inst.reference)) { return false };
            if (blockedByTippy(inst.reference)) { return false; }
          } else { // Nothing to show here!
            return false;
          }
        },
        content (tgt) {
          const content = document.createElement("span");
          if (tgt.className == 'tactic') {
            const state = tgt.querySelector(".tactic-state").cloneNode(true);
            state.style.display = "block";
            content.appendChild(state);
            content.style.display = "block";
            content.className = "hl lean popup";
          } else {
            content.className = "hl lean";
            content.style.display = "block";
            content.style.maxHeight = "300px";
            content.style.overflowY = "auto";
            content.style.overflowX = "hidden";
            const hoverId = tgt.dataset.versoHover;
            const hoverInfo = tgt.querySelector(".hover-info");
            if (hoverId) { // Docstrings from the table
              // TODO stop doing an implicit conversion from string to number here
              let data = versoDocData[hoverId];
              if (data) {
                const info = document.createElement("span");
                info.className = "hover-info";
                info.style.display = "block";
                info.innerHTML = data;
                content.appendChild(info);
                /* Render docstrings - TODO server-side */
                if ('undefined' !== typeof marked) {
                    for (const d of content.querySelectorAll("code.docstring, pre.docstring")) {
                        const str = d.innerText;
                        const html = marked.parse(str);
                        const rendered = document.createElement("div");
                        rendered.classList.add("docstring");
                        rendered.innerHTML = html;
                        d.parentNode.replaceChild(rendered, d);
                    }
                }
              } else {
                content.innerHTML = "Failed to load doc ID: " + hoverId;
              }
            } else if (hoverInfo) { // The inline info, still used for compiler messages
              content.appendChild(hoverInfo.cloneNode(true));
            }
            const extraLinks = tgt.parentElement.dataset['versoLinks'];
            if (extraLinks) {
              try {
                const extras = JSON.parse(extraLinks);
                const links = document.createElement('ul');
                links.className = 'extra-doc-links';
                extras.forEach((l) =&gt; {
                  const li = document.createElement('li');
                  li.innerHTML = "&lt;a href=\"" + l['href'] + "\" title=\"" + l.long + "\"&gt;" + l.short + "&lt;/a&gt;";
                  links.appendChild(li);
                });
                content.appendChild(links);
              } catch (error) {
                console.error(error);
              }
            }
          }
          return content;
        }
      };


      document.querySelectorAll('.hl.lean .const.token, .hl.lean .keyword.token, .hl.lean .literal.token, .hl.lean .option.token, .hl.lean .var.token, .hl.lean .typed.token, .hl.lean .level-var, .hl.lean .level-const, .hl.lean .level-op, .hl.lean .sort').forEach(element =&gt; {
        element.setAttribute('data-tippy-theme', 'lean');
      });
      document.querySelectorAll('.hl.lean .has-info.warning').forEach(element =&gt; {
        element.setAttribute('data-tippy-theme', 'warning message');
      });
      document.querySelectorAll('.hl.lean .has-info.information').forEach(element =&gt; {
        element.setAttribute('data-tippy-theme', 'info message');
      });
      document.querySelectorAll('.hl.lean .has-info.error').forEach(element =&gt; {
        element.setAttribute('data-tippy-theme', 'error message');
      });
      document.querySelectorAll('.hl.lean .tactic').forEach(element =&gt; {
        element.setAttribute('data-tippy-theme', 'tactic');
      });
      let insts = tippy('.hl.lean .const.token, .hl.lean .keyword.token, .hl.lean .literal.token, .hl.lean .option.token, .hl.lean .var.token, .hl.lean .typed.token, .hl.lean .has-info, .hl.lean .tactic, .hl.lean .level-var, .hl.lean .level-const, .hl.lean .level-op, .hl.lean .sort', defaultTippyProps);
  });
}

&lt;/script&gt;
    
&lt;script src="/jsonschemalean/verso-js/popper.js"&gt;&lt;/script&gt;
    &lt;script src="/jsonschemalean/verso-js/tippy.js"&gt;&lt;/script&gt;
    &lt;link rel="stylesheet" href="/jsonschemalean/verso-css/tippy-border.css"&gt;
    &lt;link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/katex.min.css" integrity="sha384-n8MVd4RsNIU0tAv4ct0nTaAbDJwPJzDEaqSD1odI+WdtXRGWt2kTvGFasHpSy3SV" crossorigin="anonymous"&gt;
    &lt;script defer="defer" src="https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/katex.min.js" integrity="sha384-XjKyOOlGwcjNTAIQHIpgOno0Hl1YQqzUOEleOLALmuqehneUG+vnGctmUb0ZY0l8" crossorigin="anonymous"&gt;&lt;/script&gt;
    &lt;script src="https://cdn.jsdelivr.net/npm/marked@11.1.1/marked.min.js" integrity="sha384-zbcZAIxlvJtNE3Dp5nxLXdXtXyxwOdnILY1TDPVmKFhl4r4nSUG1r8bcFXGVa4Te" crossorigin="anonymous"&gt;&lt;/script&gt;
    &lt;div class="main" role="main"&gt;
      &lt;div class="wrap"&gt;
        &lt;h1&gt;
          Safe JSON in Lean: json-schema-lean or subtyping&lt;/h1&gt;
        &lt;p&gt;
          I wanted to explore using &lt;a href="https://vega.github.io/vega-lite/"&gt;Vega-Lite&lt;/a&gt; for plotting in Lean, and
I wanted to have some safety check. VegaLite has a &lt;a href="https://vega.github.io/schema/vega-lite/v6.4.1.json"&gt;JSON schema&lt;/a&gt;.
One giant PR later, &lt;a href="https://github.com/CAIMEOX/json-schema-lean/"&gt;&lt;code&gt;json-schema-lean&lt;/code&gt;&lt;/a&gt; can
now validate plotting configs. It is ready for some broader testing of more diverse schema,
and it should be helpful for statically known single-file schemas. Caveats:&lt;/p&gt;
        &lt;ul&gt;
          &lt;li&gt;
            &lt;p&gt;
              Only supports JSON Schema Draft 7&lt;/p&gt;
            &lt;/li&gt;
          &lt;li&gt;
            &lt;p&gt;
              Does not support automatic file/http remote reference resolution&lt;/p&gt;
            &lt;/li&gt;
          &lt;li&gt;
            &lt;p&gt;
              Not battle-tested, only regular tested&lt;/p&gt;
            &lt;/li&gt;
          &lt;/ul&gt;
        &lt;p&gt;
          Along the way, I also made a URI library &lt;a href="https://github.com/josephmckinsey/lean-uri"&gt;&lt;code&gt;lean-uri&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;
        &lt;section&gt;
          &lt;h2&gt;
            &lt;span id="plot"&gt;A Quick Demo&lt;/span&gt;&lt;/h2&gt;
          &lt;p&gt;
            There is a single file for VegaLite's schema, so we load in the Vega-Lite schema with &lt;code&gt;include_str&lt;/code&gt;, parse
the schema, and validate our data.&lt;/p&gt;
          &lt;pre&gt;import JsonSchema.Validation
&lt;/pre&gt;&lt;code class="hl lean block" data-lean-context="testing"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.definition-2492"&gt;def&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-exampleVegaLite" data-verso-hover="0"&gt;exampleVegaLite&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Lean.Json" data-verso-hover="1"&gt;Lean.Json&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="const token" data-binding="const-Option.get!" data-verso-hover="2"&gt;Option.get!&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;&amp;lt;|&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Except.toOption" data-verso-hover="3"&gt;Except.toOption&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;&amp;lt;|&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Lean.Json.parse" data-verso-hover="4"&gt;Lean.Json.parse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="literal string token" data-binding="" data-verso-hover="5"&gt;r##"{
  "$schema": "https://vega.github.io/schema/vega-lite/v6.json",
  "data": {"url": "https://vega.github.io/vega-lite/data/seattle-weather.csv"},
  "mark": "bar",
  "encoding": {
    "x": {
      "timeUnit": "month",
      "field": "date",
      "type": "ordinal",
      "title": "Month of the year"
    },
    "y": {
      "aggregate": "count",
      "type": "quantitative"
    },
    "color": {
      "field": "weather",
      "type": "nominal",
      "scale": {
        "domain": ["sun", "fog", "drizzle", "rain", "snow"],
        "range": ["#e7ba52", "#c7c7c7", "#aec7e8", "#1f77b4", "#9467bd"]
      },
      "title": "Weather type"
    }
  }
}
"##&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.definition-3237"&gt;def&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-vegaliteSchemaStr" data-verso-hover="6"&gt;vegaliteSchemaStr&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-String" data-verso-hover="7"&gt;String&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.includeStr-3271" data-verso-hover="8"&gt;include_str&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="literal string token" data-binding="" data-verso-hover="9"&gt;"v6.4.1.json"&lt;/span&gt;&lt;span class="inter-text"&gt;

&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.definition-3298"&gt;def&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-vegaliteSchema" data-verso-hover="10"&gt;vegaliteSchema&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-JsonSchema.Schema" data-verso-hover="11"&gt;JsonSchema.Schema&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-Lean.Json.parse" data-verso-hover="4"&gt;Lean.Json.parse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-vegaliteSchemaStr" data-verso-hover="6"&gt;vegaliteSchemaStr&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;&amp;gt;&amp;gt;=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-JsonSchema.schemaFromJson" data-verso-hover="12"&gt;JsonSchema.schemaFromJson&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Except.toOption" data-verso-hover="3"&gt;toOption&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Option.get!" data-verso-hover="2"&gt;get!&lt;/span&gt;&lt;span class="inter-text"&gt;

&lt;/span&gt;&lt;span class="has-info information"&gt;&lt;span class="hover-container"&gt;&lt;span class="hover-info messages"&gt;&lt;code class="verso-message information"&gt;&lt;span class="text"&gt;&lt;/span&gt;&lt;span class="text"&gt;Except.ok ()&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.eval-3428" data-verso-hover="13"&gt;#eval&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-JsonSchema.validate" data-verso-hover="14"&gt;JsonSchema.validate&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-vegaliteSchema" data-verso-hover="10"&gt;vegaliteSchema&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-exampleVegaLite" data-verso-hover="0"&gt;exampleVegaLite&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;&lt;/span&gt;&lt;/code&gt;&lt;p&gt;
            We can then embed the JSON into an HTML tag and display it as needed:&lt;/p&gt;
          &lt;div style="display: block; margin-left: auto; margin-right: auto; width: fit-content;"&gt;
            &lt;div id="weather-vis"&gt;&lt;/div&gt;
            &lt;script src="https://cdn.jsdelivr.net/npm/vega@6.2.0"&gt;&lt;/script&gt;
            &lt;script src="https://cdn.jsdelivr.net/npm/vega-lite@6.4.1"&gt;&lt;/script&gt;
            &lt;script src="https://cdn.jsdelivr.net/npm/vega-embed@7.0.2"&gt;&lt;/script&gt;
            &lt;script&gt;
              vegaEmbed('#weather-vis', {"$schema":"https://vega.github.io/schema/vega-lite/v6.json","data":{"url":"https://vega.github.io/vega-lite/data/seattle-weather.csv"},"encoding":{"color":{"field":"weather","scale":{"domain":["sun","fog","drizzle","rain","snow"],"range":["#e7ba52","#c7c7c7","#aec7e8","#1f77b4","#9467bd"]},"title":"Weather type","type":"nominal"},"x":{"field":"date","timeUnit":"month","title":"Month of the year","type":"ordinal"},"y":{"aggregate":"count","type":"quantitative"}},"mark":"bar"});&lt;/script&gt;
            &lt;/div&gt;
          &lt;/section&gt;
        &lt;section&gt;
          &lt;h2&gt;
            Options for Type-Level Safety&lt;/h2&gt;
          &lt;p&gt;
            Since creating specialized data types identifies errors ahead of time,
I tried my hand at turning schemas into Lean types. But I became dissatisfied with how JSON Schema code generation
produces unergonomic types, no matter what I try. This mismatch pains me in several languages.
Meanwhile, most languages don't reason about runtime validation. If you know that a JSON passed validation, then the compiler
can't guarantee any properties of your data. But in Lean, we can use the validation as an assumption in a theorem.
Then we can prove that fields are populated, or go backwards and prove that validation would check if we ran it.
This idea wouldn't leave me, so I tried to implement it and came up with &lt;a href="https://github.com/josephmckinsey/json-subtyping"&gt;&lt;code&gt;json-subtyping&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;
          &lt;p&gt;
            When attaching properties to our JSON data in Lean, it's convenient to emulate a kind of subtyping.
Although the standard sum and product types have many nice properties for theorem proving, plotting becomes
excessively verbose. When every union is implicitly tagged with a discriminator,
as in Lean, extensions and escape hatches for plots complicate every union construction. Subtyping is one approach
to minimizing the difficulty when you extend types. Furthermore, if you use some gradual typing,
you can move fast when you don't need generalization, like for some one-off plots.&lt;/p&gt;
          &lt;p&gt;
            I also have hope for similar schema-based subtyping to provide guarantees for dataframe libraries, SQL results, and
tensor manipulation. Those are places where traditional type systems have dropped the ball, where even validation
frameworks like &lt;a href="https://pandera.readthedocs.io/en/stable/index.html"&gt;Pandera&lt;/a&gt; for &lt;code&gt;pandas&lt;/code&gt; have high costs
and limited utility. Using dependent types can invite "dependent type hell", but I had luck
with just attaching the validation check as a &lt;code&gt;Prop&lt;/code&gt;. By avoiding inductive &lt;a href="https://leanprover.github.io/functional_programming_in_lean/dependent-types/indexed-families.html"&gt;"indexed families"&lt;/a&gt;
in favor of a subtyping pattern,
we also can more easily vary the underlying implementation. That said, the theorem proving for subtyping
still require a significant amount of work, so I would only consider it when safety is a
requirement not a luxury. Usually I am plotting very specific data, where it is easy
to check after the fact.&lt;/p&gt;
          &lt;p&gt;
            By sharing an excessive level of detail below, I aim to encourage more people to work on libraries like
&lt;code&gt;json-schema-lean&lt;/code&gt;--Lean needs more libraries in my opinion. I also want to explore the details
around code generation options in Lean. Finally, I want to show that subtyping is a viable pattern for type
safety in dependent type languages. But at the end, there are still several unexplored options for better
plotting in Lean I'll mention.&lt;/p&gt;
          &lt;/section&gt;
        &lt;section&gt;
          &lt;h2&gt;
            Step 1: JSON Schema in Lean&lt;/h2&gt;
          &lt;p&gt;
            Starting out, I was lucky there was already a &lt;a href="https://github.com/CAIMEOX/json-schema-lean/"&gt;&lt;code&gt;json-schema-lean&lt;/code&gt;&lt;/a&gt; library--a GSoC 2024 project.
The main branch was incomplete, but there was nice &lt;a href="https://github.com/bowtie-json-schema/bowtie"&gt;testing infrastructure&lt;/a&gt;.
I figured it wouldn't be &lt;em&gt;too&lt;/em&gt; difficult to complete.&lt;/p&gt;
          &lt;section&gt;
            &lt;h3&gt;
              JSON Schema&lt;/h3&gt;
            &lt;p&gt;
              JSON Schema is a schema spec; specs are written in JSON, and schema implementations let you validate JSON.
The schema language lets you constrain JSON values, take unions of schemas, reference external definitions, etc.
Tools like OpenAPI and &lt;code&gt;openapi-generator&lt;/code&gt; generate stubs in different languages. Personally, the generated
code is substandard but more or less workable depending on the language and application.&lt;/p&gt;
            &lt;p&gt;
              I have primarily used JSON Schema Draft 7, which has a &lt;a href="https://json-schema.org/draft-07/draft-handrews-json-schema-01"&gt;relatively short spec&lt;/a&gt;.
With it in hand, I implemented most of the features within a week or two, using a lot of Claude Code for most features,
especially once it got really repetitive. I discovered that there were a lot of features of Draft 7 I never use nor want to:&lt;/p&gt;
            &lt;ul&gt;
              &lt;li&gt;
                &lt;p&gt;
                  You can pattern match regexes in strings.&lt;/p&gt;
                &lt;/li&gt;
              &lt;li&gt;
                &lt;p&gt;
                  You can have loops in your schema references, which you have to guard against.&lt;/p&gt;
                &lt;/li&gt;
              &lt;li&gt;
                &lt;p&gt;
                  There are properties, pattern properties, additional properties, etc. These all interact with each other.&lt;/p&gt;
                &lt;/li&gt;
              &lt;/ul&gt;
            &lt;p&gt;
              The schema turned into a &lt;a href="https://github.com/josephmckinsey/json-schema-lean/blob/27846b7410a8fd0955ce09b8c36b3904eb895a0b/JsonSchema/Schema.lean#L50"&gt;big mutually inductive type&lt;/a&gt;,
since schemas have unusual options like just &lt;code&gt;true&lt;/code&gt; or nested &lt;code&gt;if-then-else&lt;/code&gt; schemas.&lt;/p&gt;
            &lt;p&gt;
              Bowtie's comprehensive tests saved me a bunch. There were quite a few parts around references where the spec confused me.
Lean has a few regex libraries to choose from like &lt;a href="https://github.com/bergmannjg/regex"&gt;&lt;code&gt;Regex&lt;/code&gt;&lt;/a&gt;. That also saved me a
lot of trouble since regex is not an isolated feature; it can be used to select schemas for properties. Sadly there was
another missing element leading to yet another side-quest in the form of URI resolution.&lt;/p&gt;
            &lt;/section&gt;
          &lt;section&gt;
            &lt;h3&gt;
              Step 1.1: URIs&lt;/h3&gt;
            &lt;p&gt;
              &lt;a href="https://en.wikipedia.org/wiki/Uniform_Resource_Identifier"&gt;&lt;strong&gt;Uniform Resource Identifiers&lt;/strong&gt;&lt;/a&gt; are special strings that serve
as semantic IDs. They don't guarantee stability or uniqueness, but they often tell you something about some digital resource.
&lt;a href="https://en.wikipedia.org/wiki/URL"&gt;URLs&lt;/a&gt; are a subtype of URIs. A URL is a URI plus the protocol to retrieve the URL.
The &lt;a href="https://www.rfc-editor.org/rfc/rfc3986"&gt;URI spec (RFC 3986)&lt;/a&gt; breaks URI into &lt;code&gt;URI = scheme ":" ["//" authority] path ["?" query] ["#" fragment]&lt;/code&gt;,
and it defines the percent-encoding and decoding (like why Google replaces spaces with &lt;code&gt;%20&lt;/code&gt; in the results URL).
Different schemes can then have special rules on top like URL domain resolution or base64-encoding. There's also &lt;strong&gt;relative URIs&lt;/strong&gt;
to access "nearby" resources.&lt;/p&gt;
            &lt;p&gt;
              So what does this have to do with JSON Schema? Well, &lt;code&gt;$id&lt;/code&gt;s and &lt;code&gt;$ref&lt;/code&gt;s follow the rules of URIs. You can use different
protocols, you can use relative paths, and fragments point to definitions within files. Since Lean didn't have
a URI library, I implemented one at &lt;a href="https://github.com/josephmckinsey/lean-uri"&gt;&lt;code&gt;lean-uri&lt;/code&gt;&lt;/a&gt;.
Since testing is not as well centralized compared to JSON Schema, I mainly picked examples from the RFC and looked at
Haskell equivalents. For implementation, I started with hoping Claude could read and operationalize the spec, then rewriting it when it got ugly.
Since I hold parser combinators close to heart, I started with some hand-written &lt;a href="https://leanprover-community.github.io/mathlib4_docs/Std/Internal/Parsec/String.html"&gt;&lt;code&gt;Std.Internal.Parsec.String&lt;/code&gt;&lt;/a&gt;,
and tried to work within that monad, making the code more uniform. The final interface provides
parsing, normalization, resolution, which all feature in JSON Schema.&lt;/p&gt;
            &lt;code class="hl lean block" data-lean-context="testing"&gt;&lt;span class="doc-comment token" data-binding=""&gt;/-- info: "https://example.com/a/c?x#y" -/&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.guardMsgsCmd-10315" data-verso-hover="15"&gt;#guard_msgs&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.guardMsgsCmd-10315" data-verso-hover="15"&gt;in&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.eval-10373" data-verso-hover="13"&gt;#eval&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.match-10379" data-verso-hover="16"&gt;match&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-LeanUri.URI.parse" data-verso-hover="17"&gt;LeanUri.URI.parse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="literal string token" data-binding="" data-verso-hover="18"&gt;"https://EXAMPLE.com/a/./b/../c?x#y"&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.match-10379" data-verso-hover="16"&gt;with&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;|&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Except.ok" data-verso-hover="19"&gt;.ok&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.5294" data-verso-hover="20"&gt;u&lt;/span&gt;&lt;span class="inter-text"&gt;   &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;=&amp;gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-LeanUri.URI.normalize" data-verso-hover="21"&gt;LeanUri.URI.normalize&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.5294" data-verso-hover="20"&gt;u&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-LeanUri.URI.toString" data-verso-hover="22"&gt;toString&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;|&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Except.error" data-verso-hover="23"&gt;.error&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.5310" data-verso-hover="24"&gt;e&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;=&amp;gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-termS!_-10507"&gt;s!&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;"error: {&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.5310" data-verso-hover="24"&gt;e&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;}"&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;&lt;/span&gt;&lt;/code&gt;&lt;/section&gt;
          &lt;section&gt;
            &lt;h3&gt;
              Step 1.1.1: Testing&lt;/h3&gt;
            &lt;p&gt;
              Since URIs (unlike URLs) didn't seem to have a nice testing framework already, I really wanted to count on my own testing.
Lean has a way to hook up an executable to &lt;a href="https://github.com/leanprover-community/mathlib4/wiki/Setting-up-linting-and-testing-for-your-Lean-project"&gt;&lt;code&gt;lake test&lt;/code&gt;&lt;/a&gt;,
and that attracted me too. I didn't really like &lt;a href="https://github.com/argumentcomputer/LSpec"&gt;LSpec&lt;/a&gt;, which appears
to be the only testing library in Lean. My conclusion: time to write a little testing library. I decided to put it in a
&lt;code&gt;Test&lt;/code&gt; monad based on IO, where you can log passed, failed, and skipped tests to monad state, group tests, etc.&lt;/p&gt;
            &lt;code class="hl lean block" data-lean-context="testing"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.inductive-11203" data-verso-hover="25"&gt;inductive&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-TestTree" data-verso-hover="26"&gt;TestTree&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-null-11222"&gt;where&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;|&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-TestTree.test" data-verso-hover="27"&gt;test&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.5811" data-verso-hover="24"&gt;name&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-String" data-verso-hover="7"&gt;String&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.5813" data-verso-hover="28"&gt;passed&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Bool" data-verso-hover="29"&gt;Bool&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.5816" data-verso-hover="30"&gt;skipped&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Bool" data-verso-hover="29"&gt;Bool&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Bool.false" data-verso-hover="31"&gt;false&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.5822" data-verso-hover="32"&gt;message&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Option" data-verso-hover="33"&gt;Option&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-String" data-verso-hover="7"&gt;String&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Option.none" data-verso-hover="34"&gt;none&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;|&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-TestTree.group" data-verso-hover="35"&gt;group&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.5828" data-verso-hover="24"&gt;name&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-String" data-verso-hover="7"&gt;String&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.5831" data-verso-hover="36"&gt;children&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Array" data-verso-hover="37"&gt;Array&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-TestTree" data-verso-hover="26"&gt;TestTree&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.5834" data-verso-hover="30"&gt;skipped&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Bool" data-verso-hover="29"&gt;Bool&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Bool.false" data-verso-hover="31"&gt;false&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-null-11409"&gt;deriving&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Inhabited" data-verso-hover="38"&gt;Inhabited&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Repr" data-verso-hover="39"&gt;Repr&lt;/span&gt;&lt;span class="inter-text"&gt;

&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.structureTk-11435"&gt;structure&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-TestState" data-verso-hover="40"&gt;TestState&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-null-11455"&gt;where&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="const token" data-binding="const-TestState.stack" data-verso-hover="41"&gt;stack&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-List" data-verso-hover="42"&gt;List&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-String" data-verso-hover="7"&gt;String&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;×&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Array" data-verso-hover="37"&gt;Array&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-TestTree" data-verso-hover="26"&gt;TestTree&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="literal string token" data-binding="" data-verso-hover="43"&gt;""&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;#[&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;span class="inter-text"&gt; -- (group name, children)
  &lt;/span&gt;&lt;span class="const token" data-binding="const-TestState.filter" data-verso-hover="44"&gt;filter&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-String" data-verso-hover="7"&gt;String&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Bool" data-verso-hover="29"&gt;Bool&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.fun-11576"&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;_&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;=&amp;gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Bool.true" data-verso-hover="45"&gt;true&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-null-11590"&gt;deriving&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Inhabited" data-verso-hover="38"&gt;Inhabited&lt;/span&gt;&lt;span class="inter-text"&gt;

&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.abbrev-11610"&gt;abbrev&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-TestM" data-verso-hover="46"&gt;TestM&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-StateT" data-verso-hover="47"&gt;StateT&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-TestState" data-verso-hover="40"&gt;TestState&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-IO" data-verso-hover="48"&gt;IO&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;&lt;/span&gt;&lt;/code&gt;&lt;p&gt;
              This worked fine for what I needed, and I reused the helpers for testing code gen on a branch of &lt;code&gt;json-schema-lean&lt;/code&gt;.
Some tiny features like filtering or whatever are simple. I doubt I'll use this long-term, since having IO in all your
tests is a blessing and a curse. There are too many features I want in a truly excellent testing library to use my hacky version
forever.&lt;/p&gt;
            &lt;pre&gt;-- This is nice, but could it be simpler?
def testHexConversion : TestM Unit := testFunction "Hex Conversion" do
  testEq "hex 0" (uInt8toOneHexChar 0) '0' -- testEq registers the equality test under a name
&lt;/pre&gt;&lt;p&gt;
              Once I had the basic URI interface, it was mainly a matter of repeatedly testing the &lt;code&gt;$ref&lt;/code&gt; and &lt;code&gt;$id&lt;/code&gt; cases until I got tests
passing.&lt;/p&gt;
            &lt;section&gt;
              &lt;h4&gt;
                A slight detour: Json Pointer Fragments&lt;/h4&gt;
              &lt;p&gt;
                We can refer to definitions within files as well with JSON "pointer fragments". The pointer fragment &lt;code&gt;#/definitions/A/&lt;/code&gt;
refers to &lt;code&gt;obj["definitions"]["A"]&lt;/code&gt;, and similar notation is available for indexing lists, etc.
&lt;a href="https://www.rfc-editor.org/rfc/rfc6901"&gt;RFC 6901&lt;/a&gt; describes the format for JSON pointer fragments trailing on a URI
anchor.&lt;/p&gt;
              &lt;/section&gt;
            &lt;/section&gt;
          &lt;section&gt;
            &lt;h3&gt;
              What doesn't work?&lt;/h3&gt;
            &lt;p&gt;
              Several Bowtie tests require you to read referenced JSON schemas on the fly from a URL. Lean does not &lt;a href="https://github.com/leanprover/lean4/pull/10478"&gt;yet&lt;/a&gt; (as of January 2026) have a standard HTTP library to handle URLs,
so I just decided to give up on that part.&lt;/p&gt;
            &lt;/section&gt;
          &lt;/section&gt;
        &lt;section&gt;
          &lt;h2&gt;
            &lt;span id="codegen"&gt;Step 2: Json Schema Code Gen&lt;/span&gt;&lt;/h2&gt;
          &lt;p&gt;
            Now that I parse and understand all the features of JSON schema, I decided to try generating Lean structs from JSON schema.
My strategy plodded along, trying to parse &lt;code&gt;Schema&lt;/code&gt; into the &lt;code&gt;Except String Std.Format&lt;/code&gt; monad: first try to build simple
abbreviations, then &lt;code&gt;structure&lt;/code&gt;s, etc. I considered macros, but inserting comments eluded me. I settled on
&lt;a href="https://lean-lang.org/doc/api/Init/Data/Format/Basic.html#Std.Format"&gt;&lt;code&gt;Std.Format&lt;/code&gt;s&lt;/a&gt;, Lean's
way to handle indentation, precedence, etc. The API was far nicer than I deserved, even though it is string
manipulation.&lt;/p&gt;
          &lt;p&gt;
            Eventually, I needed more code generation context, recursion, and custom toJson/fromJson instances. I settled
on writing all the parsers into a &lt;code&gt;SchemaGen TypeDefinition&lt;/code&gt; monad where &lt;code&gt;SchemaGen&lt;/code&gt; had context and error handling
while &lt;code&gt;TypeDefinition&lt;/code&gt; held all the parsed definitions. Using a custom monad name here is extremely useful, and I
understand now why so many libraries live in a custom named &lt;a href="https://leanprover.github.io/functional_programming_in_lean/monad-transformers.html"&gt;monad transformer&lt;/a&gt;.&lt;/p&gt;
          &lt;code class="hl lean block" data-lean-context="testing"&gt;&lt;span class="doc-comment token" data-binding=""&gt;/-- A complete type definition including the type declaration and optional JSON instances -/&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.structureTk-14288"&gt;structure&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-TypeDefinition" data-verso-hover="49"&gt;TypeDefinition&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-null-14313"&gt;where&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="doc-comment token" data-binding=""&gt;/-- The main type declaration (structure, inductive, or abbrev) -/&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="const token" data-binding="const-TypeDefinition.typeDecl" data-verso-hover="50"&gt;typeDecl&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Std.Format" data-verso-hover="51"&gt;Std.Format&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="doc-comment token" data-binding=""&gt;/-- Optional FromJson instance implementation -/&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="const token" data-binding="const-TypeDefinition.fromJsonImpl" data-verso-hover="52"&gt;fromJsonImpl&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Option" data-verso-hover="33"&gt;Option&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Std.Format" data-verso-hover="51"&gt;Std.Format&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Option.none" data-verso-hover="34"&gt;none&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="doc-comment token" data-binding=""&gt;/-- Optional ToJson instance implementation -/&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="const token" data-binding="const-TypeDefinition.toJsonImpl" data-verso-hover="53"&gt;toJsonImpl&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Option" data-verso-hover="33"&gt;Option&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Std.Format" data-verso-hover="51"&gt;Std.Format&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Option.none" data-verso-hover="34"&gt;none&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="doc-comment token" data-binding=""&gt;/-- Nested type definitions that should be prepended before this definition -/&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="const token" data-binding="const-TypeDefinition.dependencies" data-verso-hover="54"&gt;dependencies&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-List" data-verso-hover="42"&gt;List&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-TypeDefinition" data-verso-hover="49"&gt;TypeDefinition&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="doc-comment token" data-binding=""&gt;/-- Extra doc comment for use in structures and inductives -/&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="const token" data-binding="const-TypeDefinition.extraDocComment" data-verso-hover="55"&gt;extraDocComment&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Option" data-verso-hover="33"&gt;Option&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Std.Format" data-verso-hover="51"&gt;Std.Format&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Option.none" data-verso-hover="34"&gt;none&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-null-14830"&gt;deriving&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Inhabited" data-verso-hover="38"&gt;Inhabited&lt;/span&gt;&lt;span class="inter-text"&gt;

&lt;/span&gt;&lt;span class="doc-comment token" data-binding=""&gt;/-- Configuration for code generation -/&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.structureTk-14891"&gt;structure&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Config" data-verso-hover="56"&gt;Config&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-null-14908"&gt;where&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="doc-comment token" data-binding=""&gt;/-- How to sanitize names to valid Lean identifiers -/&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="const token" data-binding="const-Config.sanitizeName" data-verso-hover="57"&gt;sanitizeName&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-String" data-verso-hover="7"&gt;String&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-String" data-verso-hover="7"&gt;String&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="doc-comment token" data-binding=""&gt;/-- Indentation string -/&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="const token" data-binding="const-Config.indent" data-verso-hover="58"&gt;indent&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-String" data-verso-hover="7"&gt;String&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="literal string token" data-binding="" data-verso-hover="59"&gt;"  "&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="doc-comment token" data-binding=""&gt;/-- Whether to generate FromJson instances -/&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="const token" data-binding="const-Config.generateFromJson" data-verso-hover="60"&gt;generateFromJson&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Bool" data-verso-hover="29"&gt;Bool&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Bool.false" data-verso-hover="31"&gt;false&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="doc-comment token" data-binding=""&gt;/-- Whether to generate ToJson instances -/&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="const token" data-binding="const-Config.generateToJson" data-verso-hover="61"&gt;generateToJson&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Bool" data-verso-hover="29"&gt;Bool&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Bool.false" data-verso-hover="31"&gt;false&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="doc-comment token" data-binding=""&gt;/-- Whether to include the base URI filename in generated type names.
      When true: user.json with definition "Address" → "UserAddress"
      When false: user.json with definition "Address" → "Address" -/&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="const token" data-binding="const-Config.includeBaseNamePrefix" data-verso-hover="62"&gt;includeBaseNamePrefix&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Bool" data-verso-hover="29"&gt;Bool&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Bool.false" data-verso-hover="31"&gt;false&lt;/span&gt;&lt;span class="inter-text"&gt;

&lt;/span&gt;&lt;span class="doc-comment token" data-binding=""&gt;/-- Identifies a schema by its canonical URI and path -/&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.structureTk-15534"&gt;structure&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SchemaID" data-verso-hover="63"&gt;SchemaID&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-null-15553"&gt;where&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="const token" data-binding="const-SchemaID.baseURI" data-verso-hover="64"&gt;baseURI&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-LeanUri.URI" data-verso-hover="65"&gt;LeanUri.URI&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="const token" data-binding="const-SchemaID.path" data-verso-hover="66"&gt;path&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-List" data-verso-hover="42"&gt;List&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-String" data-verso-hover="7"&gt;String&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-null-15604"&gt;deriving&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-BEq" data-verso-hover="67"&gt;BEq&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Hashable" data-verso-hover="68"&gt;Hashable&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Inhabited" data-verso-hover="38"&gt;Inhabited&lt;/span&gt;&lt;span class="inter-text"&gt;

&lt;/span&gt;&lt;span class="doc-comment token" data-binding=""&gt;/-- Extended code generation context with reference support -/&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.structureTk-15702"&gt;structure&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-CodeGenContext" data-verso-hover="69"&gt;CodeGenContext&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-null-15727"&gt;where&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="doc-comment token" data-binding=""&gt;/-- Resolver for looking up schemas -/&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="const token" data-binding="const-CodeGenContext.resolver" data-verso-hover="70"&gt;resolver&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15079" data-verso-hover="71"&gt;Resolver&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="doc-comment token" data-binding=""&gt;/-- Mapping from SchemaID to generated type name -/&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="const token" data-binding="const-CodeGenContext.nameMap" data-verso-hover="72"&gt;nameMap&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Std.HashMap" data-verso-hover="73"&gt;Std.HashMap&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SchemaID" data-verso-hover="63"&gt;SchemaID&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-String" data-verso-hover="7"&gt;String&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="doc-comment token" data-binding=""&gt;/-- Configuration -/&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="const token" data-binding="const-CodeGenContext.config" data-verso-hover="74"&gt;config&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Config" data-verso-hover="56"&gt;Config&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="doc-comment token" data-binding=""&gt;/-- Base URI which gets updated as we traverse -/&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="const token" data-binding="const-CodeGenContext.baseURI" data-verso-hover="75"&gt;baseURI&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-LeanUri.URI" data-verso-hover="65"&gt;LeanUri.URI&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="doc-comment token" data-binding=""&gt;/-- Current type name being generated (for error reporting) -/&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="const token" data-binding="const-CodeGenContext.currentTypeName" data-verso-hover="76"&gt;currentTypeName&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Option" data-verso-hover="33"&gt;Option&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-String" data-verso-hover="7"&gt;String&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Option.none" data-verso-hover="34"&gt;none&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="doc-comment token" data-binding=""&gt;/-- Current schema ID being processed (for error reporting) -/&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="const token" data-binding="const-CodeGenContext.currentSchemaID" data-verso-hover="77"&gt;currentSchemaID&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Option" data-verso-hover="33"&gt;Option&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SchemaID" data-verso-hover="63"&gt;SchemaID&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Option.none" data-verso-hover="34"&gt;none&lt;/span&gt;&lt;span class="inter-text"&gt;

&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.abbrev-16224"&gt;abbrev&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SchemaGen" data-verso-hover="78"&gt;SchemaGen&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-ReaderT" data-verso-hover="79"&gt;ReaderT&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-CodeGenContext" data-verso-hover="69"&gt;CodeGenContext&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-Except" data-verso-hover="80"&gt;Except&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-String" data-verso-hover="7"&gt;String&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;·&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;

&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.definition-16287"&gt;def&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SchemaGen.run" data-verso-hover="81"&gt;SchemaGen.run&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16188" data-verso-hover="82"&gt;gen&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SchemaGen" data-verso-hover="78"&gt;SchemaGen&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16185" data-verso-hover="83"&gt;α&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16191" data-verso-hover="84"&gt;ctx&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-CodeGenContext" data-verso-hover="69"&gt;CodeGenContext&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Except" data-verso-hover="80"&gt;Except&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-String" data-verso-hover="7"&gt;String&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16185" data-verso-hover="83"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-ReaderT.run" data-verso-hover="85"&gt;ReaderT.run&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16188" data-verso-hover="82"&gt;gen&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16191" data-verso-hover="84"&gt;ctx&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;&lt;/span&gt;&lt;/code&gt;&lt;p&gt;
            Lean requires mutually recursive types to be put in &lt;code&gt;mutual&lt;/code&gt; blocks, so
&lt;a href="https://en.wikipedia.org/wiki/Tarjan's_strongly_connected_components_algorithm"&gt;Tarjan's strongly connected components&lt;/a&gt;
lets me detect the cyclic dependencies in the schema reference graph.
The implementation can essentially be automated as there exist examples of it in &lt;a href="https://github.com/leanprover-community/mathlib4/blob/560872a203ef726bf76117856ece2872f8cff918/Mathlib/Tactic/Order/Graph/Tarjan.lean#L17-L29"&gt;Mathlib&lt;/a&gt;
and &lt;a href="https://github.com/leanprover/lean4/blob/9d4ad1273f6cea397c3066c2c83062a4410d16bf/src/Lean/Util/SCC.lean#L25-L28"&gt;Lean.SCC&lt;/a&gt;.
So Claude could do it, taking away some of my fun ☹️.&lt;/p&gt;
          &lt;p&gt;
            Aside from that, there are so many different special cases, abbreviations, inductives, etc. The tension
between verbose inductives and the unintended consequences of abbreviations was quite annoying.&lt;/p&gt;
          &lt;/section&gt;
        &lt;section&gt;
          &lt;h2&gt;
            &lt;span id="vegalitecodegen"&gt;Step 3: Code Gen with Vega-Lite&lt;/span&gt;&lt;/h2&gt;
          &lt;p&gt;
            How did code gen work with Vega-Lite?&lt;/p&gt;
          &lt;ul&gt;
            &lt;li&gt;
              &lt;p&gt;
                Mutual inductive types don't generate right, oops?&lt;/p&gt;
              &lt;/li&gt;
            &lt;li&gt;
              &lt;p&gt;
                It would take several minutes to compile, and it's &amp;gt;15,000 lines.&lt;/p&gt;
              &lt;/li&gt;
            &lt;li&gt;
              &lt;p&gt;
                All the code is too ugly to use.&lt;/p&gt;
              &lt;/li&gt;
            &lt;/ul&gt;
          &lt;p&gt;
            Once I saw how I'd have to construct a &lt;code&gt;RectConfig&lt;/code&gt;, I realized the library would
not be fun to use as a whole.&lt;/p&gt;
          &lt;pre&gt;structure RectConfig where
  /-- The horizontal alignment of the text or ranged marks (area, bar, image, rect, rule). One of `"left"`, `"right"`, `"center"`.

    __Note:__ Expression reference is *not* supported for range marks. -/
  align : Option (Align ⊕ ExprRef) := none
  /-- The rotation angle of the text, in degrees. -/
  angle : Option (Float ⊕ ExprRef) := none
  /-- A boolean flag indicating if [ARIA attributes](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA) should be included (SVG output only). If `false`, the "aria-hidden" attribute will be set on the output SVG element, removing the mark item from the ARIA accessibility tree. -/
  aria : Option (Bool ⊕ ExprRef) := none
  /-- Sets the type of user interface element of the mark item for [ARIA accessibility](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA) (SVG output only). If specified, this property determines the "role" attribute. Warning: this property is experimental and may be changed in the future. -/
  ariaRole : Option (String ⊕ ExprRef) := none
  /-- A human-readable, author-localized description for the role of the mark item for [ARIA accessibility](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA) (SVG output only). If specified, this property determines the "aria-roledescription" attribute. Warning: this property is experimental and may be changed in the future. -/
  ... -- It goes on like this for all the alphabetically sorted fields.
&lt;/pre&gt;&lt;p&gt;
            Now instead of &lt;code&gt;{align: "left", ...}&lt;/code&gt;, we have to use &lt;code&gt;.some (.inl .left)&lt;/code&gt;. Specifying &lt;code&gt;.inl&lt;/code&gt; or &lt;code&gt;.inr&lt;/code&gt; and finding the
right enum name can be really annoying. The long list of fields makes it difficult to remember which one if any is required.
There are definitely ways to simplify this, but doing it automatically might be a bit much.&lt;/p&gt;
          &lt;/section&gt;
        &lt;section&gt;
          &lt;h2&gt;
            &lt;span id="subtyping"&gt;Back to the drawing board&lt;/span&gt;&lt;/h2&gt;
          &lt;p&gt;
            You know what would be really convenient? If you could determine if the JSON schema validation passed during compile time.
If the entire JSON is known at compile time, we can prove it using &lt;code&gt;by native_decide&lt;/code&gt; to
run the computation &lt;code&gt;validate schema json&lt;/code&gt; and verify it equals &lt;code&gt;true&lt;/code&gt;. What if a theorem about your JSON's structure proved &lt;code&gt;validate schema json&lt;/code&gt; would pass? That
sounds great, but proving the most useful properties requires &lt;code&gt;validate&lt;/code&gt; &lt;em&gt;terminates&lt;/em&gt;--not an easy proof at all.
If we use a more restrictive schema language, we could more easily prove validation &lt;em&gt;ahead&lt;/em&gt; of time.&lt;/p&gt;
          &lt;p&gt;
            I put this idea away for a week or so. After using &lt;a href="https://www.typescriptlang.org/"&gt;TypeScript&lt;/a&gt; a bit professionally, I figured
that we could crib TypeScript's homework and use a fragment of it to check JSON. One day
I spent a few hours writing up a &lt;a href="https://github.com/josephmckinsey/json-subtyping/blob/main/blueprint/plan.pdf"&gt;blueprint&lt;/a&gt;
in &lt;a href="https://typst.app/"&gt;Typst&lt;/a&gt; (an up-and-coming LaTeX alternative). This was also more fun than improving JSON Schema validation.&lt;/p&gt;
          &lt;p&gt;
            I also considered building the schema checking right into the JSON constructors as an inductive &lt;a href="https://leanprover.github.io/functional_programming_in_lean/dependent-types/typed-queries.html"&gt;"indexed family"&lt;/a&gt;,
but using a &lt;code&gt;schema.check&lt;/code&gt; function let me use the existing JSON data structure as a base.
This brought me to separating out the proof data into a subtype equivalent to &lt;code&gt;{ x : Json // schema.check x }&lt;/code&gt;,
which feels like a breath of fresh air compared to carefully encoding properties inductively.
Overall, I believe that decoupling your evidence from your data is by default the correct approach,
so that you only depend on a minimal amount of structure for your data. For example,
we may want to one day switch to a more optimized tree format, which is easier the fewer
propositions are bundled in it. We will use a few indexed families later for specific proofs
in object construction and subtyping, but it is restricted to within those procedures.&lt;/p&gt;
          &lt;section&gt;
            &lt;h3&gt;
              TypeScript&lt;/h3&gt;
            &lt;p&gt;
              JavaScript has 6 types: &lt;code&gt;null, string, number, boolean, object, undefined&lt;/code&gt;. Many "types" in JavaScript are
really just special objects like "functions". TypeScript lets you gradually define types to assign properties of
variables at code locations, and then it will check properties "x has property 'id'" at compile-time by inspecting
the control flow graph connecting locations. TypeScript does not try much to be sound.&lt;/p&gt;
            &lt;/section&gt;
          &lt;section&gt;
            &lt;h3&gt;
              Blueprint&lt;/h3&gt;
            &lt;p&gt;
              I've never taken any course on type theory, so I probably did not use proof tree rules correctly, but
I wrote a bunch of them in the blueprint anyway. I found it helpful especially for subtyping objects
correctly.&lt;/p&gt;
            &lt;img src="/jsonschemalean/json_subtyping_blueprint.png" alt="TypeScript lets you combine types to make array types, tuple types, union types, and intersection types" style="width: 600px; display: block; margin-left: auto; margin-right: auto"&gt;&lt;p&gt;
              For objects, JSON objects are always allowed to have extra fields, which becomes a lot more annoying when you are
checking whether fields exist in big type unions. More on that later.&lt;/p&gt;
            &lt;/section&gt;
          &lt;section&gt;
            &lt;h3&gt;
              Strange challenges&lt;/h3&gt;
            &lt;p&gt;
              Lean has a built-in JSON type at &lt;a href="https://leanprover-community.github.io/mathlib4_docs/Lean/Data/Json/Basic.html#Lean.Json"&gt;&lt;code&gt;Lean.Json&lt;/code&gt;&lt;/a&gt;,
which is used for the language server among other applications. Since the JSON type is recursive, and the recursion is contained
in types like Array and maps, Lean identifies it as a &lt;a href="https://lean-lang.org/doc/reference/latest/The-Type-System/Inductive-Types/#nested-inductive-types"&gt;"nested inductive type"&lt;/a&gt;.&lt;/p&gt;
            &lt;p&gt;
              Nested inductives are massaged much more to make them appear normal. They are reorganized
as an ordinary inductive, and then new definitions are used to create the appearance of
the original nested inductive. The default induction rules are a real pain to use,
since they include the induction rules for Arrays and maps. Worse, you cannot include
dependent terms in inductive data types. The kernel will error with &lt;code&gt;nested inductive datatypes parameters
cannot contain local variables&lt;/code&gt;, which retains some mystery to me.&lt;/p&gt;
            &lt;section&gt;
              &lt;h4&gt;
                &lt;code&gt;Std.TreeMap.Raw&lt;/code&gt;&lt;/h4&gt;
              &lt;p&gt;
                The local variables restriction prevents the use of &lt;a href="https://leanprover-community.github.io/mathlib4_docs/Std/Data/TreeMap/Basic.html#Std.TreeMap"&gt;&lt;code&gt;Std.TreeMap&lt;/code&gt;&lt;/a&gt;,
a balanced binary search tree, in nested structures like JSON. &lt;code&gt;Std.TreeMap&lt;/code&gt; contains
a proof that the tree is properly constructed. Without that "well-formed" predicate,
operations like insertion and lookup have fewer guarantees, but its inclusion does
not play well with the nested inductive. So instead we have to use &lt;a href="https://leanprover-community.github.io/mathlib4_docs/Std/Data/TreeMap/Raw/Basic.html#Std.TreeMap.Raw"&gt;&lt;code&gt;Std.TreeMap.Raw&lt;/code&gt;&lt;/a&gt;,
which has no proof the data is "well-formed". The usual solution is to add the well-formedness &lt;em&gt;again&lt;/em&gt;
in the inductive, but the Json type doesn't attach the well-formedness anywhere.&lt;/p&gt;
              &lt;p&gt;
                I carefully tried to work around potentially ill-formed trees by asserting properties about
&lt;a href="https://leanprover-community.github.io/mathlib4_docs/Std/Data/TreeMap/Raw/Basic.html#Std.TreeMap.Raw.get?"&gt;&lt;code&gt;.get?&lt;/code&gt;&lt;/a&gt;
calls or by constructing maps using &lt;a href="https://leanprover-community.github.io/mathlib4_docs/Std/Data/TreeMap/Raw/Basic.html#Std.TreeMap.Raw.ofList"&gt;&lt;code&gt;ofList&lt;/code&gt;&lt;/a&gt;,
whose output is always well-formed.&lt;/p&gt;
              &lt;/section&gt;
            &lt;section&gt;
              &lt;h4&gt;
                Proving anything about JSON&lt;/h4&gt;
              &lt;p&gt;
                Given that &lt;code&gt;Json&lt;/code&gt; sheds so many invariants, it is somewhat surprising how elegant it is to prove JSON properties.
As long as you can prove termination of functions on JSON, you can write your own custom induction rules
by proving induction terminates.&lt;/p&gt;
              &lt;p&gt;
                I spent a day reading &lt;a href="https://lean-lang.org/doc/reference/4.26.0-rc2/Definitions/Recursive-Definitions/#well-founded-recursion"&gt;Lean's reference manual on "well-founded recursion"&lt;/a&gt;
and tried simplifying termination goals that appear in a &lt;code&gt;Json.beq&lt;/code&gt; implementation implicitly using such
recurion. The reference manual lays out how &lt;code&gt;termination_by&lt;/code&gt; and &lt;code&gt;decreasing_by&lt;/code&gt; let you access
these normally hidden goals. As opposed to trying to use induction, we write a recursive function where
we only call on "smaller" values somehow. You can use any &lt;a href="https://en.wikipedia.org/wiki/Well-founded_relation"&gt;"well-founded" relation&lt;/a&gt;
you want, which guarantees that eventually an execution will reduce the data to nothing and no more
recursive calls are possible.&lt;/p&gt;
              &lt;p&gt;
                For instance, when we iterate &lt;code&gt;.obj map : Lean.Json&lt;/code&gt; and recursively call on the values,
we want to know that &lt;code&gt;(k, v) ∈ map&lt;/code&gt; implies the size of &lt;code&gt;v&lt;/code&gt; is smaller than map, which is smaller than &lt;code&gt;.obj map&lt;/code&gt;.
Lean provides a &lt;code&gt;sizeOf&lt;/code&gt; definition automatically for most types where this property is practically guaranteed.
During automatic termination checking, Lean attaches the membership proofs to elements of lists with
&lt;a href="https://leanprover-community.github.io/mathlib4_docs/Init/Data/List/Attach.html#List.attach"&gt;&lt;code&gt;List.attach (l : List α) : List { x // x ∈ l }&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;
              &lt;p&gt;
                We can then apply &lt;a href="https://leanprover-community.github.io/mathlib4_docs/Init/Data/List/BasicAux.html#List.sizeOf_lt_of_mem"&gt;&lt;code&gt;List.sizeOf_lt_of_mem {a : α} {as : List α} (h : a ∈ as) : sizeOf a &amp;lt; sizeOf as&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;
              &lt;p&gt;
                Although this "attach" framework works well (and automatically) for lists and arrays, we lack those theorems for &lt;code&gt;Std.TreeMap&lt;/code&gt;.
After combing through &lt;code&gt;Std.TreeMap&lt;/code&gt;'s source code with Claude Code, I learned about &lt;a href="https://leanprover-community.github.io/mathlib4_docs/Std/Data/DTreeMap/Internal/Def.html#Std.DTreeMap.Internal.Impl.toListModel"&gt;&lt;code&gt;Std.DTreeMap.Internal.Impl.toListModel&lt;/code&gt;&lt;/a&gt;.
This function inefficiently flattens into a list, but the reasoning is far simpler. It's also proved equivalent
to &lt;code&gt;.toList&lt;/code&gt;, which is more efficient. Claude Code was essentially able to one-shot the &lt;code&gt;sizeOf&lt;/code&gt; lemmas:&lt;/p&gt;
              &lt;code class="hl lean block" data-lean-context="testing"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.open-27144" data-verso-hover="86"&gt;open&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;Std.DTreeMap.Internal&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.in-27144"&gt;in&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.theorem-27174"&gt;theorem&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Impl.sizeOf_lt_of_mem" data-verso-hover="87"&gt;Impl.sizeOf_lt_of_mem&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;{&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="sort token" data-binding="sort-7243200735919010059" data-verso-hover="89"&gt;Type&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="level-var token" data-binding="level-var-u" data-verso-hover="90"&gt;u&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;}&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;{&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="sort token" data-binding="sort-7243200735919010059" data-verso-hover="89"&gt;Type&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="level-var token" data-binding="level-var-v" data-verso-hover="92"&gt;v&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;}&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf" data-verso-hover="93"&gt;SizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16262" data-verso-hover="94"&gt;a&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf" data-verso-hover="93"&gt;SizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16262" data-verso-hover="94"&gt;a&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;{&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16273" data-verso-hover="95"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl" data-verso-hover="96"&gt;Impl&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;}&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;{&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;}&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;{&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;}&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16346" data-verso-hover="98"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟨&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;span class="unknown token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="unknown token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟩&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;∈&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16273" data-verso-hover="95"&gt;t&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.toListModel" data-verso-hover="100"&gt;toListModel&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;&amp;lt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16273" data-verso-hover="95"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-16238199908809007143-27385-27387-0"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.byTactic-27385" data-verso-hover="102"&gt;by&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-16238199908809007143-27385-27387-0"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="sort token" data-binding="sort-7243200735919010059" data-verso-hover="89"&gt;Type u&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="sort token" data-binding="sort-7243200735919010059" data-verso-hover="89"&gt;Type v&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16408" data-verso-hover="103"&gt;inst✝¹&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf" data-verso-hover="93"&gt;SizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16409" data-verso-hover="104"&gt;inst✝&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18271" data-verso-hover="94"&gt;a&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf" data-verso-hover="93"&gt;SizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18271" data-verso-hover="94"&gt;a&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16273" data-verso-hover="95"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl" data-verso-hover="96"&gt;Impl&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16346" data-verso-hover="98"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟨&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟩&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="105"&gt;∈&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16273" data-verso-hover="95"&gt;t&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.toListModel" data-verso-hover="100"&gt;toListModel&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="106"&gt;&amp;lt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16273" data-verso-hover="95"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.induction-27390" data-verso-hover="107"&gt;induction&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16273" data-verso-hover="95"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.inductionAlts-27402" data-verso-hover="108"&gt;with&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-13707136160775496442-27409-27418-2"&gt;&lt;span class="unknown token" data-binding=""&gt;|&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.leaf" data-verso-hover="109"&gt;leaf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;=&amp;gt;&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-13707136160775496442-27409-27418-2"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-3" checked="checked"&gt;&lt;span for="--verso-unique-3" class="goal-name"&gt;leaf&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="sort token" data-binding="sort-7243200735919010059" data-verso-hover="89"&gt;Type u&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="sort token" data-binding="sort-7243200735919010059" data-verso-hover="89"&gt;Type v&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16408" data-verso-hover="103"&gt;inst✝¹&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf" data-verso-hover="93"&gt;SizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16409" data-verso-hover="104"&gt;inst✝&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18271" data-verso-hover="94"&gt;a&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf" data-verso-hover="93"&gt;SizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18271" data-verso-hover="94"&gt;a&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16346" data-verso-hover="110"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟨&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟩&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="105"&gt;∈&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.leaf" data-verso-hover="109"&gt;Impl.leaf&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.toListModel" data-verso-hover="100"&gt;toListModel&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="106"&gt;&amp;lt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.leaf" data-verso-hover="109"&gt;Impl.leaf&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7-27419-27447-4"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.simp-27419" data-verso-hover="111"&gt;simp&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.toListModel" data-verso-hover="100"&gt;Impl.toListModel&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.location-27443" data-verso-hover="112"&gt;at&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16346" data-verso-hover="110"&gt;h&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-27419-27447-4"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-9061648227828873937-27450-27481-5"&gt;&lt;span class="unknown token" data-binding=""&gt;|&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.inner" data-verso-hover="113"&gt;inner&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16583" data-verso-hover="114"&gt;sz&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="115"&gt;v'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16586" data-verso-hover="95"&gt;l&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16587" data-verso-hover="95"&gt;r&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16588" data-verso-hover="116"&gt;ihl&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16589" data-verso-hover="117"&gt;ihr&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;=&amp;gt;&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-9061648227828873937-27450-27481-5"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-6" checked="checked"&gt;&lt;span for="--verso-unique-6" class="goal-name"&gt;inner&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="sort token" data-binding="sort-7243200735919010059" data-verso-hover="89"&gt;Type u&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="sort token" data-binding="sort-7243200735919010059" data-verso-hover="89"&gt;Type v&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16408" data-verso-hover="103"&gt;inst✝¹&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf" data-verso-hover="93"&gt;SizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16409" data-verso-hover="104"&gt;inst✝&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18271" data-verso-hover="94"&gt;a&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf" data-verso-hover="93"&gt;SizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18271" data-verso-hover="94"&gt;a&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16583" data-verso-hover="114"&gt;sz&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="118"&gt;Nat&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k'&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="115"&gt;v'&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k'&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16586" data-verso-hover="95"&gt;l&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl" data-verso-hover="96"&gt;Impl&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16587" data-verso-hover="95"&gt;r&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl" data-verso-hover="96"&gt;Impl&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16588" data-verso-hover="116"&gt;ihl&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟨&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟩&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="105"&gt;∈&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16586" data-verso-hover="95"&gt;l&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.toListModel" data-verso-hover="100"&gt;toListModel&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="106"&gt;&amp;lt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16586" data-verso-hover="95"&gt;l&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16589" data-verso-hover="117"&gt;ihr&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟨&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟩&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="105"&gt;∈&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16587" data-verso-hover="95"&gt;r&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.toListModel" data-verso-hover="100"&gt;toListModel&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="106"&gt;&amp;lt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16587" data-verso-hover="95"&gt;r&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16346" data-verso-hover="119"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟨&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟩&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="105"&gt;∈&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.inner" data-verso-hover="113"&gt;Impl.inner&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16583" data-verso-hover="114"&gt;sz&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="115"&gt;v'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16586" data-verso-hover="95"&gt;l&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16587" data-verso-hover="95"&gt;r&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.toListModel" data-verso-hover="100"&gt;toListModel&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="106"&gt;&amp;lt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.inner" data-verso-hover="113"&gt;Impl.inner&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16583" data-verso-hover="114"&gt;sz&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="115"&gt;v'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16586" data-verso-hover="95"&gt;l&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16587" data-verso-hover="95"&gt;r&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-15072337540364187409-27486-27557-7"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.simp-27486" data-verso-hover="111"&gt;simp&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-null-27491"&gt;only&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.toListModel_inner" data-verso-hover="120"&gt;Impl.toListModel_inner&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-List.mem_append" data-verso-hover="121"&gt;List.mem_append&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-List.mem_cons" data-verso-hover="122"&gt;List.mem_cons&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.location-27553" data-verso-hover="112"&gt;at&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16346" data-verso-hover="119"&gt;h&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-15072337540364187409-27486-27557-7"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-8" checked="checked"&gt;&lt;span for="--verso-unique-8" class="goal-name"&gt;inner&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="sort token" data-binding="sort-7243200735919010059" data-verso-hover="89"&gt;Type u&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="sort token" data-binding="sort-7243200735919010059" data-verso-hover="89"&gt;Type v&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16408" data-verso-hover="103"&gt;inst✝¹&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf" data-verso-hover="93"&gt;SizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16409" data-verso-hover="104"&gt;inst✝&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18271" data-verso-hover="94"&gt;a&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf" data-verso-hover="93"&gt;SizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18271" data-verso-hover="94"&gt;a&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16583" data-verso-hover="114"&gt;sz&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="118"&gt;Nat&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k'&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="115"&gt;v'&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k'&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16586" data-verso-hover="95"&gt;l&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl" data-verso-hover="96"&gt;Impl&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16587" data-verso-hover="95"&gt;r&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl" data-verso-hover="96"&gt;Impl&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16588" data-verso-hover="116"&gt;ihl&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟨&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟩&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="105"&gt;∈&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16586" data-verso-hover="95"&gt;l&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.toListModel" data-verso-hover="100"&gt;toListModel&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="106"&gt;&amp;lt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16586" data-verso-hover="95"&gt;l&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16589" data-verso-hover="117"&gt;ihr&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟨&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟩&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="105"&gt;∈&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16587" data-verso-hover="95"&gt;r&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.toListModel" data-verso-hover="100"&gt;toListModel&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="106"&gt;&amp;lt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16587" data-verso-hover="95"&gt;r&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16705" data-verso-hover="123"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟨&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟩&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="105"&gt;∈&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16586" data-verso-hover="95"&gt;l&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.toListModel" data-verso-hover="100"&gt;toListModel&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Or" data-verso-hover="124"&gt;∨&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟨&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟩&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="125"&gt;=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟨&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k'&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="115"&gt;v'&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟩&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Or" data-verso-hover="124"&gt;∨&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟨&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟩&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="105"&gt;∈&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16587" data-verso-hover="95"&gt;r&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.toListModel" data-verso-hover="100"&gt;toListModel&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="106"&gt;&amp;lt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.inner" data-verso-hover="113"&gt;Impl.inner&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16583" data-verso-hover="114"&gt;sz&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="115"&gt;v'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16586" data-verso-hover="95"&gt;l&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16587" data-verso-hover="95"&gt;r&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-6759412894414614650-27562-27589-9"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.rwSeq-27562" data-verso-hover="126"&gt;rw&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.inner.sizeOf_spec" data-verso-hover="127"&gt;Impl.inner.sizeOf_spec&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-6759412894414614650-27562-27589-9"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-10" checked="checked"&gt;&lt;span for="--verso-unique-10" class="goal-name"&gt;inner&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="sort token" data-binding="sort-7243200735919010059" data-verso-hover="89"&gt;Type u&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="sort token" data-binding="sort-7243200735919010059" data-verso-hover="89"&gt;Type v&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16408" data-verso-hover="103"&gt;inst✝¹&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf" data-verso-hover="93"&gt;SizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16409" data-verso-hover="104"&gt;inst✝&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18271" data-verso-hover="94"&gt;a&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf" data-verso-hover="93"&gt;SizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18271" data-verso-hover="94"&gt;a&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16583" data-verso-hover="114"&gt;sz&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="118"&gt;Nat&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k'&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="115"&gt;v'&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k'&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16586" data-verso-hover="95"&gt;l&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl" data-verso-hover="96"&gt;Impl&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16587" data-verso-hover="95"&gt;r&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl" data-verso-hover="96"&gt;Impl&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16588" data-verso-hover="116"&gt;ihl&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟨&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟩&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="105"&gt;∈&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16586" data-verso-hover="95"&gt;l&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.toListModel" data-verso-hover="100"&gt;toListModel&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="106"&gt;&amp;lt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16586" data-verso-hover="95"&gt;l&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16589" data-verso-hover="117"&gt;ihr&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟨&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟩&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="105"&gt;∈&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16587" data-verso-hover="95"&gt;r&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.toListModel" data-verso-hover="100"&gt;toListModel&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="106"&gt;&amp;lt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16587" data-verso-hover="95"&gt;r&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16705" data-verso-hover="123"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟨&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟩&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="105"&gt;∈&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16586" data-verso-hover="95"&gt;l&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.toListModel" data-verso-hover="100"&gt;toListModel&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Or" data-verso-hover="124"&gt;∨&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟨&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟩&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="125"&gt;=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟨&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k'&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="115"&gt;v'&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟩&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Or" data-verso-hover="124"&gt;∨&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟨&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟩&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="105"&gt;∈&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16587" data-verso-hover="95"&gt;r&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.toListModel" data-verso-hover="100"&gt;toListModel&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="106"&gt;&amp;lt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="128"&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16583" data-verso-hover="114"&gt;sz&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="128"&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="128"&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="115"&gt;v'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="128"&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16586" data-verso-hover="95"&gt;l&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="128"&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16587" data-verso-hover="95"&gt;r&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-6121191247232213124-27594-27621-11"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.rcases-27594" data-verso-hover="129"&gt;rcases&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16705" data-verso-hover="123"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-null-27603"&gt;with&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.17737" data-verso-hover="130"&gt;hl&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;|&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.17760" data-verso-hover="131"&gt;heq&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;|&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.17765" data-verso-hover="132"&gt;hr&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-6121191247232213124-27594-27621-11"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-12" checked="checked"&gt;&lt;span for="--verso-unique-12" class="goal-name"&gt;inner.inl&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="sort token" data-binding="sort-7243200735919010059" data-verso-hover="89"&gt;Type u&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="sort token" data-binding="sort-7243200735919010059" data-verso-hover="89"&gt;Type v&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16408" data-verso-hover="103"&gt;inst✝¹&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf" data-verso-hover="93"&gt;SizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16409" data-verso-hover="104"&gt;inst✝&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18271" data-verso-hover="94"&gt;a&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf" data-verso-hover="93"&gt;SizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18271" data-verso-hover="94"&gt;a&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16583" data-verso-hover="114"&gt;sz&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="118"&gt;Nat&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k'&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="115"&gt;v'&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k'&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16586" data-verso-hover="95"&gt;l&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl" data-verso-hover="96"&gt;Impl&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16587" data-verso-hover="95"&gt;r&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl" data-verso-hover="96"&gt;Impl&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16588" data-verso-hover="116"&gt;ihl&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟨&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟩&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="105"&gt;∈&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16586" data-verso-hover="95"&gt;l&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.toListModel" data-verso-hover="100"&gt;toListModel&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="106"&gt;&amp;lt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16586" data-verso-hover="95"&gt;l&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16589" data-verso-hover="117"&gt;ihr&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟨&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟩&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="105"&gt;∈&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16587" data-verso-hover="95"&gt;r&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.toListModel" data-verso-hover="100"&gt;toListModel&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="106"&gt;&amp;lt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16587" data-verso-hover="95"&gt;r&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17737" data-verso-hover="130"&gt;hl&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟨&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟩&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="105"&gt;∈&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16586" data-verso-hover="95"&gt;l&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.toListModel" data-verso-hover="100"&gt;toListModel&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="106"&gt;&amp;lt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="128"&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16583" data-verso-hover="114"&gt;sz&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="128"&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="128"&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="115"&gt;v'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="128"&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16586" data-verso-hover="95"&gt;l&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="128"&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16587" data-verso-hover="95"&gt;r&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-13"&gt;&lt;span for="--verso-unique-13" class="goal-name"&gt;inner.inr.inl&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="sort token" data-binding="sort-7243200735919010059" data-verso-hover="89"&gt;Type u&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="sort token" data-binding="sort-7243200735919010059" data-verso-hover="89"&gt;Type v&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16408" data-verso-hover="103"&gt;inst✝¹&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf" data-verso-hover="93"&gt;SizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16409" data-verso-hover="104"&gt;inst✝&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18271" data-verso-hover="94"&gt;a&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf" data-verso-hover="93"&gt;SizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18271" data-verso-hover="94"&gt;a&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16583" data-verso-hover="114"&gt;sz&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="118"&gt;Nat&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k'&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="115"&gt;v'&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k'&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16586" data-verso-hover="95"&gt;l&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl" data-verso-hover="96"&gt;Impl&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16587" data-verso-hover="95"&gt;r&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl" data-verso-hover="96"&gt;Impl&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16588" data-verso-hover="116"&gt;ihl&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟨&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟩&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="105"&gt;∈&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16586" data-verso-hover="95"&gt;l&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.toListModel" data-verso-hover="100"&gt;toListModel&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="106"&gt;&amp;lt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16586" data-verso-hover="95"&gt;l&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16589" data-verso-hover="117"&gt;ihr&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟨&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟩&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="105"&gt;∈&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16587" data-verso-hover="95"&gt;r&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.toListModel" data-verso-hover="100"&gt;toListModel&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="106"&gt;&amp;lt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16587" data-verso-hover="95"&gt;r&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17760" data-verso-hover="131"&gt;heq&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟨&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟩&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="125"&gt;=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟨&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k'&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="115"&gt;v'&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟩&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="106"&gt;&amp;lt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="128"&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16583" data-verso-hover="114"&gt;sz&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="128"&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="128"&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="115"&gt;v'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="128"&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16586" data-verso-hover="95"&gt;l&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="128"&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16587" data-verso-hover="95"&gt;r&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-14"&gt;&lt;span for="--verso-unique-14" class="goal-name"&gt;inner.inr.inr&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="sort token" data-binding="sort-7243200735919010059" data-verso-hover="89"&gt;Type u&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="sort token" data-binding="sort-7243200735919010059" data-verso-hover="89"&gt;Type v&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16408" data-verso-hover="103"&gt;inst✝¹&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf" data-verso-hover="93"&gt;SizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16409" data-verso-hover="104"&gt;inst✝&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18271" data-verso-hover="94"&gt;a&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf" data-verso-hover="93"&gt;SizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18271" data-verso-hover="94"&gt;a&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16583" data-verso-hover="114"&gt;sz&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="118"&gt;Nat&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k'&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="115"&gt;v'&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k'&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16586" data-verso-hover="95"&gt;l&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl" data-verso-hover="96"&gt;Impl&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16587" data-verso-hover="95"&gt;r&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl" data-verso-hover="96"&gt;Impl&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16588" data-verso-hover="116"&gt;ihl&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟨&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟩&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="105"&gt;∈&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16586" data-verso-hover="95"&gt;l&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.toListModel" data-verso-hover="100"&gt;toListModel&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="106"&gt;&amp;lt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16586" data-verso-hover="95"&gt;l&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16589" data-verso-hover="117"&gt;ihr&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟨&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟩&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="105"&gt;∈&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16587" data-verso-hover="95"&gt;r&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.toListModel" data-verso-hover="100"&gt;toListModel&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="106"&gt;&amp;lt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16587" data-verso-hover="95"&gt;r&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17765" data-verso-hover="132"&gt;hr&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟨&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟩&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="105"&gt;∈&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16587" data-verso-hover="95"&gt;r&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.toListModel" data-verso-hover="100"&gt;toListModel&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="106"&gt;&amp;lt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="128"&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16583" data-verso-hover="114"&gt;sz&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="128"&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="128"&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="115"&gt;v'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="128"&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16586" data-verso-hover="95"&gt;l&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="128"&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16587" data-verso-hover="95"&gt;r&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-12779233088802261736-27626-27628-15"&gt;&lt;span class="unknown token" data-binding=""&gt;·&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-12779233088802261736-27626-27628-15"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-16" checked="checked"&gt;&lt;span for="--verso-unique-16" class="goal-name"&gt;inner.inl&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="sort token" data-binding="sort-7243200735919010059" data-verso-hover="89"&gt;Type u&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="sort token" data-binding="sort-7243200735919010059" data-verso-hover="89"&gt;Type v&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16408" data-verso-hover="103"&gt;inst✝¹&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf" data-verso-hover="93"&gt;SizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16409" data-verso-hover="104"&gt;inst✝&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18271" data-verso-hover="94"&gt;a&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf" data-verso-hover="93"&gt;SizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18271" data-verso-hover="94"&gt;a&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16583" data-verso-hover="114"&gt;sz&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="118"&gt;Nat&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k'&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="115"&gt;v'&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k'&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16586" data-verso-hover="95"&gt;l&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl" data-verso-hover="96"&gt;Impl&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16587" data-verso-hover="95"&gt;r&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl" data-verso-hover="96"&gt;Impl&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16588" data-verso-hover="116"&gt;ihl&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟨&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟩&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="105"&gt;∈&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16586" data-verso-hover="95"&gt;l&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.toListModel" data-verso-hover="100"&gt;toListModel&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="106"&gt;&amp;lt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16586" data-verso-hover="95"&gt;l&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16589" data-verso-hover="117"&gt;ihr&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟨&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟩&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="105"&gt;∈&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16587" data-verso-hover="95"&gt;r&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.toListModel" data-verso-hover="100"&gt;toListModel&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="106"&gt;&amp;lt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16587" data-verso-hover="95"&gt;r&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17737" data-verso-hover="130"&gt;hl&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟨&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟩&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="105"&gt;∈&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16586" data-verso-hover="95"&gt;l&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.toListModel" data-verso-hover="100"&gt;toListModel&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="106"&gt;&amp;lt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="128"&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16583" data-verso-hover="114"&gt;sz&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="128"&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="128"&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="115"&gt;v'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="128"&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16586" data-verso-hover="95"&gt;l&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="128"&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16587" data-verso-hover="95"&gt;r&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-1032929038968257207-27629-27643-17"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.tacticHave__-27629" data-verso-hover="133"&gt;have&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16588" data-verso-hover="116"&gt;ihl&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.17737" data-verso-hover="130"&gt;hl&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-1032929038968257207-27629-27643-17"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-18" checked="checked"&gt;&lt;span for="--verso-unique-18" class="goal-name"&gt;inner.inl&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="sort token" data-binding="sort-7243200735919010059" data-verso-hover="89"&gt;Type u&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="sort token" data-binding="sort-7243200735919010059" data-verso-hover="89"&gt;Type v&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16408" data-verso-hover="103"&gt;inst✝¹&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf" data-verso-hover="93"&gt;SizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16409" data-verso-hover="104"&gt;inst✝&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18271" data-verso-hover="94"&gt;a&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf" data-verso-hover="93"&gt;SizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18271" data-verso-hover="94"&gt;a&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16583" data-verso-hover="114"&gt;sz&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="118"&gt;Nat&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k'&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="115"&gt;v'&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k'&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16586" data-verso-hover="95"&gt;l&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl" data-verso-hover="96"&gt;Impl&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16587" data-verso-hover="95"&gt;r&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl" data-verso-hover="96"&gt;Impl&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16588" data-verso-hover="116"&gt;ihl&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟨&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟩&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="105"&gt;∈&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16586" data-verso-hover="95"&gt;l&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.toListModel" data-verso-hover="100"&gt;toListModel&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="106"&gt;&amp;lt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16586" data-verso-hover="95"&gt;l&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16589" data-verso-hover="117"&gt;ihr&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟨&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟩&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="105"&gt;∈&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16587" data-verso-hover="95"&gt;r&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.toListModel" data-verso-hover="100"&gt;toListModel&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="106"&gt;&amp;lt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16587" data-verso-hover="95"&gt;r&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17737" data-verso-hover="130"&gt;hl&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟨&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟩&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="105"&gt;∈&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16586" data-verso-hover="95"&gt;l&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.toListModel" data-verso-hover="100"&gt;toListModel&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17770" data-verso-hover="134"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_mvar.17769&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;@&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16588" data-verso-hover="135"&gt;_fvar.16588&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.17737" data-verso-hover="135"&gt;_fvar.17737&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="106"&gt;&amp;lt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="128"&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16583" data-verso-hover="114"&gt;sz&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="128"&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="128"&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="115"&gt;v'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="128"&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16586" data-verso-hover="95"&gt;l&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="128"&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16587" data-verso-hover="95"&gt;r&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7-27645-27650-19"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.omega-27645" data-verso-hover="136"&gt;omega&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-27645-27650-19"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-11685874987667502969-27655-27657-20"&gt;&lt;span class="unknown token" data-binding=""&gt;·&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-11685874987667502969-27655-27657-20"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-21" checked="checked"&gt;&lt;span for="--verso-unique-21" class="goal-name"&gt;inner.inr.inl&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="sort token" data-binding="sort-7243200735919010059" data-verso-hover="89"&gt;Type u&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="sort token" data-binding="sort-7243200735919010059" data-verso-hover="89"&gt;Type v&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16408" data-verso-hover="103"&gt;inst✝¹&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf" data-verso-hover="93"&gt;SizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16409" data-verso-hover="104"&gt;inst✝&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18271" data-verso-hover="94"&gt;a&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf" data-verso-hover="93"&gt;SizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18271" data-verso-hover="94"&gt;a&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16583" data-verso-hover="114"&gt;sz&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="118"&gt;Nat&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k'&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="115"&gt;v'&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k'&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16586" data-verso-hover="95"&gt;l&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl" data-verso-hover="96"&gt;Impl&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16587" data-verso-hover="95"&gt;r&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl" data-verso-hover="96"&gt;Impl&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16588" data-verso-hover="116"&gt;ihl&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟨&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟩&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="105"&gt;∈&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16586" data-verso-hover="95"&gt;l&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.toListModel" data-verso-hover="100"&gt;toListModel&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="106"&gt;&amp;lt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16586" data-verso-hover="95"&gt;l&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16589" data-verso-hover="117"&gt;ihr&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟨&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟩&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="105"&gt;∈&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16587" data-verso-hover="95"&gt;r&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.toListModel" data-verso-hover="100"&gt;toListModel&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="106"&gt;&amp;lt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16587" data-verso-hover="95"&gt;r&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17760" data-verso-hover="131"&gt;heq&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟨&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟩&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="125"&gt;=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟨&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k'&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="115"&gt;v'&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟩&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="106"&gt;&amp;lt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="128"&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16583" data-verso-hover="114"&gt;sz&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="128"&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="128"&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="115"&gt;v'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="128"&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16586" data-verso-hover="95"&gt;l&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="128"&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16587" data-verso-hover="95"&gt;r&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-12263673881378849332-27658-27667-22"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.cases-27658" data-verso-hover="137"&gt;cases&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.17760" data-verso-hover="131"&gt;heq&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-12263673881378849332-27658-27667-22"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-23" checked="checked"&gt;&lt;span for="--verso-unique-23" class="goal-name"&gt;inner.inr.inl.refl&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="sort token" data-binding="sort-7243200735919010059" data-verso-hover="89"&gt;Type u&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="sort token" data-binding="sort-7243200735919010059" data-verso-hover="89"&gt;Type v&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16408" data-verso-hover="103"&gt;inst✝¹&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf" data-verso-hover="93"&gt;SizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16409" data-verso-hover="104"&gt;inst✝&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18271" data-verso-hover="94"&gt;a&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf" data-verso-hover="93"&gt;SizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18271" data-verso-hover="94"&gt;a&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16583" data-verso-hover="114"&gt;sz&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="118"&gt;Nat&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16586" data-verso-hover="95"&gt;l&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl" data-verso-hover="96"&gt;Impl&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16587" data-verso-hover="95"&gt;r&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl" data-verso-hover="96"&gt;Impl&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16588" data-verso-hover="116"&gt;ihl&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟨&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟩&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="105"&gt;∈&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16586" data-verso-hover="95"&gt;l&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.toListModel" data-verso-hover="100"&gt;toListModel&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="106"&gt;&amp;lt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16586" data-verso-hover="95"&gt;l&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16589" data-verso-hover="117"&gt;ihr&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟨&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟩&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="105"&gt;∈&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16587" data-verso-hover="95"&gt;r&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.toListModel" data-verso-hover="100"&gt;toListModel&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="106"&gt;&amp;lt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16587" data-verso-hover="95"&gt;r&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="106"&gt;&amp;lt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="128"&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16583" data-verso-hover="114"&gt;sz&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="128"&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="128"&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="128"&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16586" data-verso-hover="95"&gt;l&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="128"&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16587" data-verso-hover="95"&gt;r&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7-27669-27674-24"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.omega-27669" data-verso-hover="136"&gt;omega&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-27669-27674-24"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-12318496817888926085-27679-27681-25"&gt;&lt;span class="unknown token" data-binding=""&gt;·&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-12318496817888926085-27679-27681-25"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-26" checked="checked"&gt;&lt;span for="--verso-unique-26" class="goal-name"&gt;inner.inr.inr&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="sort token" data-binding="sort-7243200735919010059" data-verso-hover="89"&gt;Type u&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="sort token" data-binding="sort-7243200735919010059" data-verso-hover="89"&gt;Type v&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16408" data-verso-hover="103"&gt;inst✝¹&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf" data-verso-hover="93"&gt;SizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16409" data-verso-hover="104"&gt;inst✝&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18271" data-verso-hover="94"&gt;a&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf" data-verso-hover="93"&gt;SizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18271" data-verso-hover="94"&gt;a&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16583" data-verso-hover="114"&gt;sz&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="118"&gt;Nat&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k'&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="115"&gt;v'&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k'&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16586" data-verso-hover="95"&gt;l&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl" data-verso-hover="96"&gt;Impl&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16587" data-verso-hover="95"&gt;r&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl" data-verso-hover="96"&gt;Impl&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16588" data-verso-hover="116"&gt;ihl&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟨&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟩&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="105"&gt;∈&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16586" data-verso-hover="95"&gt;l&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.toListModel" data-verso-hover="100"&gt;toListModel&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="106"&gt;&amp;lt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16586" data-verso-hover="95"&gt;l&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16589" data-verso-hover="117"&gt;ihr&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟨&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟩&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="105"&gt;∈&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16587" data-verso-hover="95"&gt;r&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.toListModel" data-verso-hover="100"&gt;toListModel&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="106"&gt;&amp;lt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16587" data-verso-hover="95"&gt;r&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17765" data-verso-hover="132"&gt;hr&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟨&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟩&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="105"&gt;∈&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16587" data-verso-hover="95"&gt;r&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.toListModel" data-verso-hover="100"&gt;toListModel&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="106"&gt;&amp;lt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="128"&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16583" data-verso-hover="114"&gt;sz&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="128"&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="128"&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="115"&gt;v'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="128"&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16586" data-verso-hover="95"&gt;l&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="128"&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16587" data-verso-hover="95"&gt;r&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7137890972651839129-27682-27696-27"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.tacticHave__-27682" data-verso-hover="133"&gt;have&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16589" data-verso-hover="117"&gt;ihr&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.17765" data-verso-hover="132"&gt;hr&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7137890972651839129-27682-27696-27"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-28" checked="checked"&gt;&lt;span for="--verso-unique-28" class="goal-name"&gt;inner.inr.inr&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="sort token" data-binding="sort-7243200735919010059" data-verso-hover="89"&gt;Type u&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="sort token" data-binding="sort-7243200735919010059" data-verso-hover="89"&gt;Type v&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16408" data-verso-hover="103"&gt;inst✝¹&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf" data-verso-hover="93"&gt;SizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16409" data-verso-hover="104"&gt;inst✝&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18271" data-verso-hover="94"&gt;a&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf" data-verso-hover="93"&gt;SizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18271" data-verso-hover="94"&gt;a&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16583" data-verso-hover="114"&gt;sz&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="118"&gt;Nat&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k'&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="115"&gt;v'&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k'&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16586" data-verso-hover="95"&gt;l&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl" data-verso-hover="96"&gt;Impl&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16587" data-verso-hover="95"&gt;r&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl" data-verso-hover="96"&gt;Impl&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16252" data-verso-hover="88"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16256" data-verso-hover="91"&gt;β&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16588" data-verso-hover="116"&gt;ihl&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟨&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟩&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="105"&gt;∈&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16586" data-verso-hover="95"&gt;l&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.toListModel" data-verso-hover="100"&gt;toListModel&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="106"&gt;&amp;lt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16586" data-verso-hover="95"&gt;l&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.16589" data-verso-hover="117"&gt;ihr&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟨&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟩&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="105"&gt;∈&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16587" data-verso-hover="95"&gt;r&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.toListModel" data-verso-hover="100"&gt;toListModel&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="106"&gt;&amp;lt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16587" data-verso-hover="95"&gt;r&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17765" data-verso-hover="132"&gt;hr&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟨&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟩&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="105"&gt;∈&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16587" data-verso-hover="95"&gt;r&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.toListModel" data-verso-hover="100"&gt;toListModel&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.18129" data-verso-hover="138"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_mvar.18128&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;@&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16589" data-verso-hover="135"&gt;_fvar.16589&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.17765" data-verso-hover="135"&gt;_fvar.17765&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="97"&gt;v&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="106"&gt;&amp;lt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="128"&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16583" data-verso-hover="114"&gt;sz&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="128"&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16584" data-verso-hover="94"&gt;k'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="128"&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16585" data-verso-hover="115"&gt;v'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="128"&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16586" data-verso-hover="95"&gt;l&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="128"&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.16587" data-verso-hover="95"&gt;r&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7-27698-27703-29"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.omega-27698" data-verso-hover="136"&gt;omega&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-27698-27703-29"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;

&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.theorem-27705"&gt;theorem&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-TreeMap.Raw.sizeOf_lt_of_mem" data-verso-hover="139"&gt;TreeMap.Raw.sizeOf_lt_of_mem&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;{&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18272" data-verso-hover="140"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18274" data-verso-hover="140"&gt;β&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="sort token" data-binding="sort-7243200735919010059" data-verso-hover="89"&gt;Type&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;}&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;{&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18280" data-verso-hover="141"&gt;cmp&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18272" data-verso-hover="140"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18272" data-verso-hover="140"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Ordering" data-verso-hover="142"&gt;Ordering&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;}&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf" data-verso-hover="93"&gt;SizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18272" data-verso-hover="140"&gt;α&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf" data-verso-hover="93"&gt;SizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18274" data-verso-hover="140"&gt;β&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;{&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18292" data-verso-hover="143"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Std.TreeMap.Raw" data-verso-hover="144"&gt;Std.TreeMap.Raw&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18272" data-verso-hover="140"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18274" data-verso-hover="140"&gt;β&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18280" data-verso-hover="141"&gt;cmp&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;}&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;{&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18294" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18272" data-verso-hover="140"&gt;α&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;}&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;{&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18296" data-verso-hover="145"&gt;v&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18274" data-verso-hover="140"&gt;β&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;}&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18377" data-verso-hover="146"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟨&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18294" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;span class="unknown token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18296" data-verso-hover="145"&gt;v&lt;/span&gt;&lt;span class="unknown token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟩&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;∈&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18292" data-verso-hover="143"&gt;t&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.TreeMap.Raw.inner" data-verso-hover="147"&gt;inner&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Raw.inner" data-verso-hover="148"&gt;inner&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.toListModel" data-verso-hover="149"&gt;toListModel&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18296" data-verso-hover="145"&gt;v&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;&amp;lt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18292" data-verso-hover="143"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-17757655314525445441-27946-27948-30"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.byTactic-27946" data-verso-hover="102"&gt;by&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-17757655314525445441-27946-27948-30"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.18272" data-verso-hover="140"&gt;α&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="sort token" data-binding="sort-7243200735919010059" data-verso-hover="89"&gt;Type&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.18274" data-verso-hover="140"&gt;β&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="sort token" data-binding="sort-7243200735919010059" data-verso-hover="89"&gt;Type&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.18280" data-verso-hover="141"&gt;cmp&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18272" data-verso-hover="140"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18272" data-verso-hover="140"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Ordering" data-verso-hover="142"&gt;Ordering&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.18426" data-verso-hover="103"&gt;inst✝¹&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf" data-verso-hover="93"&gt;SizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18272" data-verso-hover="140"&gt;α&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.18427" data-verso-hover="150"&gt;inst✝&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf" data-verso-hover="93"&gt;SizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18274" data-verso-hover="140"&gt;β&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.18292" data-verso-hover="143"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.TreeMap.Raw" data-verso-hover="144"&gt;Std.TreeMap.Raw&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18272" data-verso-hover="140"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18274" data-verso-hover="140"&gt;β&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18280" data-verso-hover="141"&gt;cmp&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.18294" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18272" data-verso-hover="140"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.18296" data-verso-hover="145"&gt;v&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18274" data-verso-hover="140"&gt;β&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.18377" data-verso-hover="146"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟨&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18294" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18296" data-verso-hover="145"&gt;v&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟩&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="105"&gt;∈&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18292" data-verso-hover="143"&gt;t&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.TreeMap.Raw.inner" data-verso-hover="147"&gt;inner&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Raw.inner" data-verso-hover="148"&gt;inner&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.toListModel" data-verso-hover="149"&gt;toListModel&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18296" data-verso-hover="145"&gt;v&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="106"&gt;&amp;lt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18292" data-verso-hover="143"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-9263319617033919757-27951-28032-32"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.tacticHave__-27951" data-verso-hover="133"&gt;have&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18557" data-verso-hover="151"&gt;h1&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18292" data-verso-hover="143"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="114"&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18292" data-verso-hover="143"&gt;t&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.TreeMap.Raw.inner" data-verso-hover="147"&gt;inner&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Std.TreeMap.Raw.mk.sizeOf_spec" data-verso-hover="152"&gt;Std.TreeMap.Raw.mk.sizeOf_spec&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18292" data-verso-hover="143"&gt;t&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.TreeMap.Raw.inner" data-verso-hover="147"&gt;inner&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-9263319617033919757-27951-28032-32"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.18272" data-verso-hover="140"&gt;α&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="sort token" data-binding="sort-7243200735919010059" data-verso-hover="89"&gt;Type&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.18274" data-verso-hover="140"&gt;β&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="sort token" data-binding="sort-7243200735919010059" data-verso-hover="89"&gt;Type&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.18280" data-verso-hover="141"&gt;cmp&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18272" data-verso-hover="140"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18272" data-verso-hover="140"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Ordering" data-verso-hover="142"&gt;Ordering&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.18426" data-verso-hover="103"&gt;inst✝¹&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf" data-verso-hover="93"&gt;SizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18272" data-verso-hover="140"&gt;α&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.18427" data-verso-hover="150"&gt;inst✝&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf" data-verso-hover="93"&gt;SizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18274" data-verso-hover="140"&gt;β&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.18292" data-verso-hover="143"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.TreeMap.Raw" data-verso-hover="144"&gt;Std.TreeMap.Raw&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18272" data-verso-hover="140"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18274" data-verso-hover="140"&gt;β&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18280" data-verso-hover="141"&gt;cmp&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.18294" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18272" data-verso-hover="140"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.18296" data-verso-hover="145"&gt;v&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18274" data-verso-hover="140"&gt;β&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.18377" data-verso-hover="146"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟨&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18294" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18296" data-verso-hover="145"&gt;v&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟩&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="105"&gt;∈&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18292" data-verso-hover="143"&gt;t&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.TreeMap.Raw.inner" data-verso-hover="147"&gt;inner&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Raw.inner" data-verso-hover="148"&gt;inner&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.toListModel" data-verso-hover="149"&gt;toListModel&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.18557" data-verso-hover="151"&gt;h1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="unknown token" data-binding=""&gt;[Error&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;pretty&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;printing&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;expression:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;unknown&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;free&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;variable&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;`_uniq.18428`&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;Falling&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;back&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;to&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;raw&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;printer.]&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;Eq.{?_uniq.18434}&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18527&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(SizeOf.sizeOf.{?_uniq.18435}&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18436&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18437&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;_uniq.18428)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(HAdd.hAdd.{?_uniq.18451,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18450,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18449}&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18510&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18511&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18512&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18513&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(OfNat.ofNat.{?_uniq.18454}&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18453&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18455)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(SizeOf.sizeOf.{?_uniq.18463}&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18464&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18465&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(Std.TreeMap.Raw.inner.{?_uniq.18467,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18466}&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18468&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18469&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18470&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;_uniq.18428)))&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; 
  &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[Error&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;pretty&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;printing&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;expression:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;unknown&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;free&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;variable&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;`_uniq.18428`&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;Falling&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;back&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;to&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;raw&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;printer.]&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;Std.TreeMap.Raw.mk.sizeOf_spec.{?_uniq.18533,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18532}&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18534&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18535&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18536&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18537&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18538&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(Std.TreeMap.Raw.inner.{?_uniq.18540,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18539}&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18541&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18542&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18543&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;_uniq.18428)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18296" data-verso-hover="145"&gt;v&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="106"&gt;&amp;lt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18292" data-verso-hover="143"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7748125390027306953-28035-28135-34"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.tacticHave__-28035" data-verso-hover="133"&gt;have&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18676" data-verso-hover="153"&gt;h2&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18292" data-verso-hover="143"&gt;t&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.TreeMap.Raw.inner" data-verso-hover="147"&gt;inner&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="114"&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18292" data-verso-hover="143"&gt;t&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.TreeMap.Raw.inner" data-verso-hover="147"&gt;inner&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Raw.inner" data-verso-hover="148"&gt;inner&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Raw.mk.sizeOf_spec" data-verso-hover="154"&gt;Std.DTreeMap.Raw.mk.sizeOf_spec&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18292" data-verso-hover="143"&gt;t&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.TreeMap.Raw.inner" data-verso-hover="147"&gt;inner&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Raw.inner" data-verso-hover="148"&gt;inner&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7748125390027306953-28035-28135-34"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.18272" data-verso-hover="140"&gt;α&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="sort token" data-binding="sort-7243200735919010059" data-verso-hover="89"&gt;Type&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.18274" data-verso-hover="140"&gt;β&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="sort token" data-binding="sort-7243200735919010059" data-verso-hover="89"&gt;Type&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.18280" data-verso-hover="141"&gt;cmp&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18272" data-verso-hover="140"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18272" data-verso-hover="140"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Ordering" data-verso-hover="142"&gt;Ordering&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.18426" data-verso-hover="103"&gt;inst✝¹&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf" data-verso-hover="93"&gt;SizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18272" data-verso-hover="140"&gt;α&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.18427" data-verso-hover="150"&gt;inst✝&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf" data-verso-hover="93"&gt;SizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18274" data-verso-hover="140"&gt;β&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.18292" data-verso-hover="143"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.TreeMap.Raw" data-verso-hover="144"&gt;Std.TreeMap.Raw&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18272" data-verso-hover="140"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18274" data-verso-hover="140"&gt;β&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18280" data-verso-hover="141"&gt;cmp&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.18294" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18272" data-verso-hover="140"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.18296" data-verso-hover="145"&gt;v&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18274" data-verso-hover="140"&gt;β&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.18377" data-verso-hover="146"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟨&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18294" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18296" data-verso-hover="145"&gt;v&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟩&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="105"&gt;∈&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18292" data-verso-hover="143"&gt;t&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.TreeMap.Raw.inner" data-verso-hover="147"&gt;inner&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Raw.inner" data-verso-hover="148"&gt;inner&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.toListModel" data-verso-hover="149"&gt;toListModel&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.18557" data-verso-hover="151"&gt;h1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="unknown token" data-binding=""&gt;[Error&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;pretty&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;printing&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;expression:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;unknown&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;free&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;variable&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;`_uniq.18428`&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;Falling&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;back&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;to&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;raw&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;printer.]&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;Eq.{?_uniq.18434}&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18527&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(SizeOf.sizeOf.{?_uniq.18435}&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18436&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18437&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;_uniq.18428)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(HAdd.hAdd.{?_uniq.18451,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18450,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18449}&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18510&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18511&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18512&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18513&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(OfNat.ofNat.{?_uniq.18454}&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18453&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18455)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(SizeOf.sizeOf.{?_uniq.18463}&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18464&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18465&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(Std.TreeMap.Raw.inner.{?_uniq.18467,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18466}&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18468&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18469&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18470&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;_uniq.18428)))&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; 
  &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[Error&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;pretty&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;printing&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;expression:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;unknown&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;free&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;variable&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;`_uniq.18428`&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;Falling&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;back&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;to&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;raw&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;printer.]&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;Std.TreeMap.Raw.mk.sizeOf_spec.{?_uniq.18533,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18532}&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18534&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18535&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18536&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18537&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18538&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(Std.TreeMap.Raw.inner.{?_uniq.18540,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18539}&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18541&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18542&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18543&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;_uniq.18428)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.18676" data-verso-hover="153"&gt;h2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="unknown token" data-binding=""&gt;[Error&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;pretty&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;printing&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;expression:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;unknown&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;free&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;variable&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;`_uniq.18428`&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;Falling&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;back&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;to&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;raw&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;printer.]&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;Eq.{?_uniq.18562}&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18644&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(SizeOf.sizeOf.{?_uniq.18563}&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18564&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18565&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(Std.TreeMap.Raw.inner.{?_uniq.18567,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18566}&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18568&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18569&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18570&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;_uniq.18428))&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(HAdd.hAdd.{?_uniq.18573,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18572,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18571}&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18627&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18628&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18629&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18630&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(OfNat.ofNat.{?_uniq.18576}&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18575&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18577)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(SizeOf.sizeOf.{?_uniq.18585}&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18586&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18587&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(Std.DTreeMap.Raw.inner.{?_uniq.18594,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18593}&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18595&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18596&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18597&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(Std.TreeMap.Raw.inner.{?_uniq.18589,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18588}&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18590&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18591&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18592&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;_uniq.18428))))&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; 
  &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[Error&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;pretty&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;printing&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;expression:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;unknown&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;free&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;variable&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;`_uniq.18428`&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;Falling&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;back&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;to&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;raw&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;printer.]&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;Std.DTreeMap.Raw.mk.sizeOf_spec.{?_uniq.18646,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18645}&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18647&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18648&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18649&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18650&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18651&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(Std.DTreeMap.Raw.inner.{?_uniq.18658,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18657}&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18659&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18660&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18661&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(Std.TreeMap.Raw.inner.{?_uniq.18653,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18652}&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18654&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18655&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18656&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;_uniq.18428))&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18296" data-verso-hover="145"&gt;v&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="106"&gt;&amp;lt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18292" data-verso-hover="143"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-9739808985819153470-28138-28172-36"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.tacticHave__-28138" data-verso-hover="133"&gt;have&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19185" data-verso-hover="155"&gt;h3&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Impl.sizeOf_lt_of_mem" data-verso-hover="156"&gt;Impl.sizeOf_lt_of_mem&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18377" data-verso-hover="146"&gt;h&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-9739808985819153470-28138-28172-36"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.18272" data-verso-hover="140"&gt;α&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="sort token" data-binding="sort-7243200735919010059" data-verso-hover="89"&gt;Type&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.18274" data-verso-hover="140"&gt;β&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="sort token" data-binding="sort-7243200735919010059" data-verso-hover="89"&gt;Type&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.18280" data-verso-hover="141"&gt;cmp&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18272" data-verso-hover="140"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18272" data-verso-hover="140"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Ordering" data-verso-hover="142"&gt;Ordering&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.18426" data-verso-hover="103"&gt;inst✝¹&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf" data-verso-hover="93"&gt;SizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18272" data-verso-hover="140"&gt;α&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.18427" data-verso-hover="150"&gt;inst✝&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf" data-verso-hover="93"&gt;SizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18274" data-verso-hover="140"&gt;β&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.18292" data-verso-hover="143"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.TreeMap.Raw" data-verso-hover="144"&gt;Std.TreeMap.Raw&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18272" data-verso-hover="140"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18274" data-verso-hover="140"&gt;β&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18280" data-verso-hover="141"&gt;cmp&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.18294" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18272" data-verso-hover="140"&gt;α&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.18296" data-verso-hover="145"&gt;v&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18274" data-verso-hover="140"&gt;β&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.18377" data-verso-hover="146"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟨&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18294" data-verso-hover="94"&gt;k&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18296" data-verso-hover="145"&gt;v&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟩&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="105"&gt;∈&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18292" data-verso-hover="143"&gt;t&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.TreeMap.Raw.inner" data-verso-hover="147"&gt;inner&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Raw.inner" data-verso-hover="148"&gt;inner&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.toListModel" data-verso-hover="149"&gt;toListModel&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.18557" data-verso-hover="151"&gt;h1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="unknown token" data-binding=""&gt;[Error&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;pretty&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;printing&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;expression:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;unknown&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;free&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;variable&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;`_uniq.18428`&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;Falling&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;back&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;to&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;raw&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;printer.]&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;Eq.{?_uniq.18434}&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18527&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(SizeOf.sizeOf.{?_uniq.18435}&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18436&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18437&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;_uniq.18428)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(HAdd.hAdd.{?_uniq.18451,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18450,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18449}&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18510&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18511&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18512&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18513&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(OfNat.ofNat.{?_uniq.18454}&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18453&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18455)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(SizeOf.sizeOf.{?_uniq.18463}&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18464&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18465&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(Std.TreeMap.Raw.inner.{?_uniq.18467,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18466}&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18468&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18469&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18470&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;_uniq.18428)))&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; 
  &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[Error&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;pretty&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;printing&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;expression:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;unknown&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;free&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;variable&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;`_uniq.18428`&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;Falling&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;back&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;to&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;raw&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;printer.]&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;Std.TreeMap.Raw.mk.sizeOf_spec.{?_uniq.18533,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18532}&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18534&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18535&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18536&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18537&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18538&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(Std.TreeMap.Raw.inner.{?_uniq.18540,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18539}&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18541&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18542&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18543&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;_uniq.18428)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.18676" data-verso-hover="153"&gt;h2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="unknown token" data-binding=""&gt;[Error&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;pretty&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;printing&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;expression:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;unknown&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;free&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;variable&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;`_uniq.18428`&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;Falling&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;back&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;to&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;raw&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;printer.]&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;Eq.{?_uniq.18562}&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18644&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(SizeOf.sizeOf.{?_uniq.18563}&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18564&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18565&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(Std.TreeMap.Raw.inner.{?_uniq.18567,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18566}&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18568&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18569&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18570&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;_uniq.18428))&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(HAdd.hAdd.{?_uniq.18573,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18572,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18571}&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18627&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18628&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18629&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18630&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(OfNat.ofNat.{?_uniq.18576}&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18575&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18577)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(SizeOf.sizeOf.{?_uniq.18585}&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18586&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18587&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(Std.DTreeMap.Raw.inner.{?_uniq.18594,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18593}&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18595&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18596&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18597&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(Std.TreeMap.Raw.inner.{?_uniq.18589,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18588}&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18590&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18591&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18592&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;_uniq.18428))))&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; 
  &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[Error&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;pretty&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;printing&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;expression:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;unknown&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;free&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;variable&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;`_uniq.18428`&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;Falling&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;back&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;to&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;raw&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;printer.]&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;Std.DTreeMap.Raw.mk.sizeOf_spec.{?_uniq.18646,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18645}&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18647&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18648&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18649&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18650&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18651&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(Std.DTreeMap.Raw.inner.{?_uniq.18658,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18657}&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18659&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18660&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18661&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(Std.TreeMap.Raw.inner.{?_uniq.18653,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18652}&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18654&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18655&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_uniq.18656&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;_uniq.18428))&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.19185" data-verso-hover="155"&gt;h3&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_mvar.18681&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;Impl.sizeOf_lt_of_mem&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18377" data-verso-hover="135"&gt;_fvar.18431&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18296" data-verso-hover="145"&gt;v&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="106"&gt;&amp;lt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18292" data-verso-hover="143"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7-28175-28180-38"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.omega-28175" data-verso-hover="136"&gt;omega&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-28175-28180-38"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;&lt;/span&gt;&lt;/code&gt;&lt;p&gt;
                So my strategy was to use &lt;code&gt;.toList.attach&lt;/code&gt; to attach the membership proof, and then
extract the size lemma with &lt;code&gt;.sizeOf_lt_of_mem&lt;/code&gt; when proving the size of recursive arguments decreases.
Compared to the verbosity of ordinary induction here, this is much briefer. Now we can implement better
JSON induction methods:&lt;/p&gt;
              &lt;code class="hl lean block" data-lean-context="testing"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.set_option-28519" data-verso-hover="157"&gt;set_option&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="option token" data-binding="option-linter.unusedVariables" data-verso-hover="158"&gt;linter.unusedVariables&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.set_option-28519" data-verso-hover="157"&gt;false&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.in-28519"&gt;in&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.open-28562" data-verso-hover="86"&gt;open&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;Lean&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-Lean.Json" data-verso-hover="1"&gt;Json&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.in-28562"&gt;in&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.definition-28582"&gt;def&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Json.recOn" data-verso-hover="159"&gt;Json.recOn&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;{&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19274" data-verso-hover="160"&gt;motive&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Lean.Json" data-verso-hover="1"&gt;Json&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="sort token" data-binding="sort-112978979043057490" data-verso-hover="161"&gt;Sort&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="level-var token" data-binding="level-var-u" data-verso-hover="90"&gt;u&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;}&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19276" data-verso-hover="162"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Lean.Json" data-verso-hover="1"&gt;Json&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19278" data-verso-hover="163"&gt;null&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19274" data-verso-hover="160"&gt;motive&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Lean.Json.null" data-verso-hover="164"&gt;.null&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19284" data-verso-hover="165"&gt;bool&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;∀&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19282" data-verso-hover="28"&gt;b&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19274" data-verso-hover="160"&gt;motive&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-Lean.Json.bool" data-verso-hover="166"&gt;.bool&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19282" data-verso-hover="28"&gt;b&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19290" data-verso-hover="167"&gt;num&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;∀&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19288" data-verso-hover="168"&gt;n&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19274" data-verso-hover="160"&gt;motive&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-Lean.Json.num" data-verso-hover="169"&gt;.num&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19288" data-verso-hover="168"&gt;n&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19296" data-verso-hover="170"&gt;str&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;∀&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19294" data-verso-hover="24"&gt;s&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19274" data-verso-hover="160"&gt;motive&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-Lean.Json.str" data-verso-hover="171"&gt;.str&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19294" data-verso-hover="24"&gt;s&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19366" data-verso-hover="172"&gt;arr&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;∀&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19300" data-verso-hover="173"&gt;a&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Array" data-verso-hover="37"&gt;Array&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Lean.Json" data-verso-hover="1"&gt;Json&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;∀&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19305" data-verso-hover="162"&gt;j&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19305" data-verso-hover="162"&gt;j&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;∈&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19300" data-verso-hover="173"&gt;a&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19274" data-verso-hover="160"&gt;motive&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19305" data-verso-hover="162"&gt;j&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19274" data-verso-hover="160"&gt;motive&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-Lean.Json.arr" data-verso-hover="174"&gt;.arr&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19300" data-verso-hover="173"&gt;a&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19496" data-verso-hover="175"&gt;obj&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;∀&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19401" data-verso-hover="176"&gt;o&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Std.TreeMap.Raw" data-verso-hover="144"&gt;Std.TreeMap.Raw&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-String" data-verso-hover="7"&gt;String&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Lean.Json" data-verso-hover="1"&gt;Json&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Ord.compare" data-verso-hover="177"&gt;compare&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt;
           &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;∀&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19406" data-verso-hover="24"&gt;field&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19409" data-verso-hover="162"&gt;value&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟨&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19406" data-verso-hover="24"&gt;field&lt;/span&gt;&lt;span class="unknown token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19409" data-verso-hover="162"&gt;value&lt;/span&gt;&lt;span class="unknown token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟩&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;∈&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19401" data-verso-hover="176"&gt;o&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.TreeMap.Raw.inner" data-verso-hover="147"&gt;inner&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Raw.inner" data-verso-hover="148"&gt;inner&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.toList" data-verso-hover="178"&gt;toList&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19274" data-verso-hover="160"&gt;motive&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19409" data-verso-hover="162"&gt;value&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt;
           &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19274" data-verso-hover="160"&gt;motive&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-Lean.Json.obj" data-verso-hover="179"&gt;.obj&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19401" data-verso-hover="176"&gt;o&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19274" data-verso-hover="160"&gt;motive&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19276" data-verso-hover="162"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.match-29057" data-verso-hover="16"&gt;match&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19276" data-verso-hover="162"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.match-29057" data-verso-hover="16"&gt;with&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;|&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Lean.Json.null" data-verso-hover="164"&gt;.null&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;=&amp;gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19278" data-verso-hover="163"&gt;null&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;|&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Lean.Json.bool" data-verso-hover="166"&gt;.bool&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19553" data-verso-hover="28"&gt;b&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;=&amp;gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19284" data-verso-hover="165"&gt;bool&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19553" data-verso-hover="28"&gt;b&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;|&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Lean.Json.num" data-verso-hover="169"&gt;.num&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19562" data-verso-hover="168"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;=&amp;gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19290" data-verso-hover="167"&gt;num&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19562" data-verso-hover="168"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;|&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Lean.Json.str" data-verso-hover="171"&gt;.str&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19571" data-verso-hover="24"&gt;s&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;=&amp;gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19296" data-verso-hover="170"&gt;str&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19571" data-verso-hover="24"&gt;s&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;|&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Lean.Json.arr" data-verso-hover="174"&gt;.arr&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19580" data-verso-hover="173"&gt;a&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;=&amp;gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19366" data-verso-hover="172"&gt;arr&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19580" data-verso-hover="173"&gt;a&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.fun-29171"&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19583" data-verso-hover="162"&gt;j&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19586" data-verso-hover="180"&gt;jMem&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;=&amp;gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Json.recOn" data-verso-hover="159"&gt;Json.recOn&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19583" data-verso-hover="162"&gt;j&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19278" data-verso-hover="163"&gt;null&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19284" data-verso-hover="165"&gt;bool&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19290" data-verso-hover="167"&gt;num&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19296" data-verso-hover="170"&gt;str&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19366" data-verso-hover="172"&gt;arr&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19496" data-verso-hover="175"&gt;obj&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;|&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Lean.Json.obj" data-verso-hover="179"&gt;.obj&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19634" data-verso-hover="176"&gt;o&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;=&amp;gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19496" data-verso-hover="175"&gt;obj&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19634" data-verso-hover="176"&gt;o&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.fun-29246"&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19637" data-verso-hover="24"&gt;k&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19640" data-verso-hover="162"&gt;v&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19643" data-verso-hover="181"&gt;vMem&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;=&amp;gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Json.recOn" data-verso-hover="159"&gt;Json.recOn&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19640" data-verso-hover="162"&gt;v&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19278" data-verso-hover="163"&gt;null&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19284" data-verso-hover="165"&gt;bool&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19290" data-verso-hover="167"&gt;num&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19296" data-verso-hover="170"&gt;str&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19366" data-verso-hover="172"&gt;arr&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19496" data-verso-hover="175"&gt;obj&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Termination.terminationBy-29302" data-verso-hover="182"&gt;termination_by&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19829" data-verso-hover="162"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Termination.decreasingBy-29319" data-verso-hover="183"&gt;decreasing_by&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-16600603950073450768-29335-29337-39"&gt;&lt;span class="unknown token" data-binding=""&gt;·&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-16600603950073450768-29335-29337-39"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.20250" data-verso-hover="173"&gt;a&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Array" data-verso-hover="37"&gt;Array&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Lean.Json" data-verso-hover="1"&gt;Json&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.20252" data-verso-hover="162"&gt;j&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Lean.Json" data-verso-hover="1"&gt;Json&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.20253" data-verso-hover="180"&gt;jMem&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.20252" data-verso-hover="162"&gt;j&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="105"&gt;∈&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.20250" data-verso-hover="173"&gt;a&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.20252" data-verso-hover="162"&gt;j&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="106"&gt;&amp;lt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-Lean.Json.arr" data-verso-hover="174"&gt;Json.arr&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.20250" data-verso-hover="173"&gt;a&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.tacticSuffices_-29338" data-verso-hover="184"&gt;suffices&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.20252" data-verso-hover="162"&gt;j&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;&amp;lt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.20250" data-verso-hover="173"&gt;a&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-12437405016702904509-29367-29369-41"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.byTactic'-29367"&gt;by&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-12437405016702904509-29367-29369-41"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.20250" data-verso-hover="173"&gt;a&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Array" data-verso-hover="37"&gt;Array&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Lean.Json" data-verso-hover="1"&gt;Json&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.20252" data-verso-hover="162"&gt;j&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Lean.Json" data-verso-hover="1"&gt;Json&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.20253" data-verso-hover="180"&gt;jMem&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.20252" data-verso-hover="162"&gt;j&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="105"&gt;∈&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.20250" data-verso-hover="173"&gt;a&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.20761" data-verso-hover="185"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="unknown token" data-binding=""&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.20252" data-verso-hover="135"&gt;_fvar.20252&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;&amp;lt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.20250" data-verso-hover="135"&gt;_fvar.20250&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_mvar.20760&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.20252" data-verso-hover="162"&gt;j&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="106"&gt;&amp;lt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-Lean.Json.arr" data-verso-hover="174"&gt;Json.arr&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.20250" data-verso-hover="173"&gt;a&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-5976020366422767118-29370-29381-43"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.simp-29370" data-verso-hover="111"&gt;simp&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;+&lt;/span&gt;&lt;span class="const token" data-binding="const-Lean.Meta.Simp.Config.arith" data-verso-hover="186"&gt;arith&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-5976020366422767118-29370-29381-43"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.20250" data-verso-hover="173"&gt;a&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Array" data-verso-hover="37"&gt;Array&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Lean.Json" data-verso-hover="1"&gt;Json&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.20252" data-verso-hover="162"&gt;j&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Lean.Json" data-verso-hover="1"&gt;Json&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.20253" data-verso-hover="180"&gt;jMem&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.20252" data-verso-hover="162"&gt;j&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="105"&gt;∈&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.20250" data-verso-hover="173"&gt;a&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.20761" data-verso-hover="185"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="unknown token" data-binding=""&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.20252" data-verso-hover="135"&gt;_fvar.20252&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;&amp;lt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.20250" data-verso-hover="135"&gt;_fvar.20250&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_mvar.20760&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.20252" data-verso-hover="162"&gt;j&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="187"&gt;≤&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.20250" data-verso-hover="173"&gt;a&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7-29383-29388-45"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.omega-29383" data-verso-hover="136"&gt;omega&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-29383-29388-45"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7-29393-29426-46"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.exact-29393" data-verso-hover="188"&gt;exact&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Array.sizeOf_lt_of_mem" data-verso-hover="189"&gt;Array.sizeOf_lt_of_mem&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.20253" data-verso-hover="180"&gt;jMem&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-29393-29426-46"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.tacticSuffices_-29429" data-verso-hover="184"&gt;suffices&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.20262" data-verso-hover="162"&gt;v&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;&amp;lt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.20259" data-verso-hover="176"&gt;o&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-4276921908861813949-29458-29460-47"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.byTactic'-29458"&gt;by&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-4276921908861813949-29458-29460-47"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.20259" data-verso-hover="176"&gt;o&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.TreeMap.Raw" data-verso-hover="144"&gt;Std.TreeMap.Raw&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-String" data-verso-hover="7"&gt;String&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Lean.Json" data-verso-hover="1"&gt;Json&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Ord.compare" data-verso-hover="177"&gt;compare&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.20261" data-verso-hover="24"&gt;k&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-String" data-verso-hover="7"&gt;String&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.20262" data-verso-hover="162"&gt;v&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Lean.Json" data-verso-hover="1"&gt;Json&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.20263" data-verso-hover="181"&gt;vMem&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟨&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.20261" data-verso-hover="24"&gt;k&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.20262" data-verso-hover="162"&gt;v&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟩&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="105"&gt;∈&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.20259" data-verso-hover="176"&gt;o&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.TreeMap.Raw.inner" data-verso-hover="147"&gt;inner&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Raw.inner" data-verso-hover="148"&gt;inner&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.toList" data-verso-hover="178"&gt;toList&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.21400" data-verso-hover="190"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="unknown token" data-binding=""&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.20262" data-verso-hover="135"&gt;_fvar.20262&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;&amp;lt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.20259" data-verso-hover="135"&gt;_fvar.20259&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_mvar.21399&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.20262" data-verso-hover="162"&gt;v&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="106"&gt;&amp;lt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-Lean.Json.obj" data-verso-hover="179"&gt;Json.obj&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.20259" data-verso-hover="176"&gt;o&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-11966275828979807760-29461-29472-49"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.simp-29461" data-verso-hover="111"&gt;simp&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;+&lt;/span&gt;&lt;span class="const token" data-binding="const-Lean.Meta.Simp.Config.arith" data-verso-hover="186"&gt;arith&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-11966275828979807760-29461-29472-49"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.20259" data-verso-hover="176"&gt;o&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.TreeMap.Raw" data-verso-hover="144"&gt;Std.TreeMap.Raw&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-String" data-verso-hover="7"&gt;String&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Lean.Json" data-verso-hover="1"&gt;Json&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Ord.compare" data-verso-hover="177"&gt;compare&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.20261" data-verso-hover="24"&gt;k&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-String" data-verso-hover="7"&gt;String&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.20262" data-verso-hover="162"&gt;v&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Lean.Json" data-verso-hover="1"&gt;Json&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.20263" data-verso-hover="181"&gt;vMem&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟨&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.20261" data-verso-hover="24"&gt;k&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.20262" data-verso-hover="162"&gt;v&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟩&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="105"&gt;∈&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.20259" data-verso-hover="176"&gt;o&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.TreeMap.Raw.inner" data-verso-hover="147"&gt;inner&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Raw.inner" data-verso-hover="148"&gt;inner&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.toList" data-verso-hover="178"&gt;toList&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.21400" data-verso-hover="190"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="unknown token" data-binding=""&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.20262" data-verso-hover="135"&gt;_fvar.20262&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;&amp;lt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.20259" data-verso-hover="135"&gt;_fvar.20259&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?_mvar.21399&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.20262" data-verso-hover="162"&gt;v&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="187"&gt;≤&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-SizeOf.sizeOf" data-verso-hover="101"&gt;sizeOf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.20259" data-verso-hover="176"&gt;o&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7-29474-29479-51"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.omega-29474" data-verso-hover="136"&gt;omega&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-29474-29479-51"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-1764140958944144609-29482-29516-52"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.apply-29482" data-verso-hover="191"&gt;apply&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-TreeMap.Raw.sizeOf_lt_of_mem" data-verso-hover="139"&gt;TreeMap.Raw.sizeOf_lt_of_mem&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-1764140958944144609-29482-29516-52"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-53" checked="checked"&gt;&lt;span for="--verso-unique-53" class="goal-name"&gt;h&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.20259" data-verso-hover="176"&gt;o&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.TreeMap.Raw" data-verso-hover="144"&gt;Std.TreeMap.Raw&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-String" data-verso-hover="7"&gt;String&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Lean.Json" data-verso-hover="1"&gt;Json&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Ord.compare" data-verso-hover="177"&gt;compare&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.20261" data-verso-hover="24"&gt;k&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-String" data-verso-hover="7"&gt;String&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.20262" data-verso-hover="162"&gt;v&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Lean.Json" data-verso-hover="1"&gt;Json&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.20263" data-verso-hover="181"&gt;vMem&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟨&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.20261" data-verso-hover="24"&gt;k&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.20262" data-verso-hover="162"&gt;v&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟩&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="105"&gt;∈&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.20259" data-verso-hover="176"&gt;o&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.TreeMap.Raw.inner" data-verso-hover="147"&gt;inner&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Raw.inner" data-verso-hover="148"&gt;inner&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.toList" data-verso-hover="178"&gt;toList&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟨&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?k&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.20262" data-verso-hover="162"&gt;v&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟩&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="105"&gt;∈&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.20259" data-verso-hover="176"&gt;o&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.TreeMap.Raw.inner" data-verso-hover="147"&gt;inner&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Raw.inner" data-verso-hover="148"&gt;inner&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.toListModel" data-verso-hover="149"&gt;toListModel&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-54"&gt;&lt;span for="--verso-unique-54" class="goal-name"&gt;k&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.20259" data-verso-hover="176"&gt;o&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.TreeMap.Raw" data-verso-hover="144"&gt;Std.TreeMap.Raw&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-String" data-verso-hover="7"&gt;String&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Lean.Json" data-verso-hover="1"&gt;Json&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Ord.compare" data-verso-hover="177"&gt;compare&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.20261" data-verso-hover="24"&gt;k&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-String" data-verso-hover="7"&gt;String&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.20262" data-verso-hover="162"&gt;v&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Lean.Json" data-verso-hover="1"&gt;Json&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.20263" data-verso-hover="181"&gt;vMem&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟨&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.20261" data-verso-hover="24"&gt;k&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.20262" data-verso-hover="162"&gt;v&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟩&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="105"&gt;∈&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.20259" data-verso-hover="176"&gt;o&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.TreeMap.Raw.inner" data-verso-hover="147"&gt;inner&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Raw.inner" data-verso-hover="148"&gt;inner&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.toList" data-verso-hover="178"&gt;toList&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-String" data-verso-hover="7"&gt;String&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-625556348270057950-29519-29574-55"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.rwSeq-29519" data-verso-hover="126"&gt;rw&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;&amp;lt;-&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.toList_eq_toListModel" data-verso-hover="192"&gt;Std.DTreeMap.Internal.Impl.toList_eq_toListModel&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-625556348270057950-29519-29574-55"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-56" checked="checked"&gt;&lt;span for="--verso-unique-56" class="goal-name"&gt;h&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.20259" data-verso-hover="176"&gt;o&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.TreeMap.Raw" data-verso-hover="144"&gt;Std.TreeMap.Raw&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-String" data-verso-hover="7"&gt;String&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Lean.Json" data-verso-hover="1"&gt;Json&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Ord.compare" data-verso-hover="177"&gt;compare&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.20261" data-verso-hover="24"&gt;k&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-String" data-verso-hover="7"&gt;String&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.20262" data-verso-hover="162"&gt;v&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Lean.Json" data-verso-hover="1"&gt;Json&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.20263" data-verso-hover="181"&gt;vMem&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟨&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.20261" data-verso-hover="24"&gt;k&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.20262" data-verso-hover="162"&gt;v&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟩&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="105"&gt;∈&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.20259" data-verso-hover="176"&gt;o&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.TreeMap.Raw.inner" data-verso-hover="147"&gt;inner&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Raw.inner" data-verso-hover="148"&gt;inner&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.toList" data-verso-hover="178"&gt;toList&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟨&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?k&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.20262" data-verso-hover="162"&gt;v&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟩&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="105"&gt;∈&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.20259" data-verso-hover="176"&gt;o&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.TreeMap.Raw.inner" data-verso-hover="147"&gt;inner&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Raw.inner" data-verso-hover="148"&gt;inner&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.toList" data-verso-hover="178"&gt;toList&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-57"&gt;&lt;span for="--verso-unique-57" class="goal-name"&gt;k&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.20259" data-verso-hover="176"&gt;o&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.TreeMap.Raw" data-verso-hover="144"&gt;Std.TreeMap.Raw&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-String" data-verso-hover="7"&gt;String&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Lean.Json" data-verso-hover="1"&gt;Json&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Ord.compare" data-verso-hover="177"&gt;compare&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.20261" data-verso-hover="24"&gt;k&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-String" data-verso-hover="7"&gt;String&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.20262" data-verso-hover="162"&gt;v&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Lean.Json" data-verso-hover="1"&gt;Json&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.20263" data-verso-hover="181"&gt;vMem&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟨&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.20261" data-verso-hover="24"&gt;k&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.20262" data-verso-hover="162"&gt;v&lt;/span&gt;&lt;span class="const token" data-binding="const-Sigma.mk" data-verso-hover="99"&gt;⟩&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="105"&gt;∈&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.20259" data-verso-hover="176"&gt;o&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.TreeMap.Raw.inner" data-verso-hover="147"&gt;inner&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Raw.inner" data-verso-hover="148"&gt;inner&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Std.DTreeMap.Internal.Impl.toList" data-verso-hover="178"&gt;toList&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-String" data-verso-hover="7"&gt;String&lt;/span&gt;&lt;span class="inter-text"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7-29577-29587-58"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.exact-29577" data-verso-hover="188"&gt;exact&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.20263" data-verso-hover="181"&gt;vMem&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-29577-29587-58"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;&lt;/span&gt;&lt;/code&gt;&lt;p&gt;
                Custom "recursors" like this let you split up recursive definitions really easily as long as you are able
to take and apply hypotheses like &lt;code&gt;j ∈ a&lt;/code&gt;. As long as you carry around membership information, you can
split up recursive definitions while still proving termination.&lt;/p&gt;
              &lt;/section&gt;
            &lt;section&gt;
              &lt;h4&gt;
                List equality was a pain&lt;/h4&gt;
              &lt;p&gt;
                Lawful equality already exists for &lt;code&gt;List α&lt;/code&gt;, but it expects an existing instance of equality for &lt;code&gt;α&lt;/code&gt;.
For a particular subtyping proof, I needed a &lt;code&gt;ReflBEq Json&lt;/code&gt; (&lt;code&gt;∀x : Json, x == x&lt;/code&gt;); I hoped to use &lt;code&gt;ReflBEq (List α)&lt;/code&gt;.
At the time, I ran out of patience and cleverness trying to prove a termination goal,
so I reimplemented the lemma instead. Relatedly, writing inline definitions
in a typeclass instance makes it strangely difficult to unfold those definitions.&lt;/p&gt;
              &lt;/section&gt;
            &lt;/section&gt;
          &lt;section&gt;
            &lt;h3&gt;
              Subtyping&lt;/h3&gt;
            &lt;p&gt;
              After handling all those JSON difficulties, I went back to my very helpful blueprint for
how subtyping would work: an incomplete set of rules to determine when one type implied another.
From the beginning, I wanted to bundle the "schema" &lt;code&gt;t : JsonType&lt;/code&gt;,
the propositional check, and the JSON into an object &lt;code&gt;TypedJson t&lt;/code&gt;. Then when you wanted to check if a typed &lt;code&gt;json&lt;/code&gt; also satisfied &lt;code&gt;t'&lt;/code&gt;,
you could run a decision procedure &lt;code&gt;t.subtype t'&lt;/code&gt; to prove &lt;code&gt;∀x, t.check x → t'.check x&lt;/code&gt;. This would allow you to use
JSON in more general contexts without having to care about the exact types involved.&lt;/p&gt;
            &lt;p&gt;
              I applied a bit of cleverness by bundling the proof into the return type of the subtype checker:&lt;/p&gt;
            &lt;pre&gt;inductive DecideSubtype (t1 t2 : JsonType) where
  | none : DecideSubtype t1 t2
  | isSubtype : (∀j, t1.check j = true → t2.check j = true) → DecideSubtype t1 t2
&lt;/pre&gt;&lt;p&gt;
              This allowed me to reuse the convoluted logic of the subtype checking for the proof plumbing. Proving that subtyping
worked separately involved so much more casework; it was so much easier to piggyback off the existing casework. Truly, dependent
types are wonderful! Especially as long as you remember: &lt;a href="https://leanprover.github.io/functional_programming_in_lean/dependent-types/typed-queries.html#column-pointers"&gt;"Programs that use these types will find themselves
forced to mirror the algorithm used in the type-level function so that their structure matches the
pattern-matching and recursive behavior of the type."&lt;/a&gt;
This is the blessing and curse of dependent types.&lt;/p&gt;
            &lt;p&gt;
              There was a lot of rewriting and sublemmas for all the different &lt;code&gt;JsonType&lt;/code&gt; constructors, especially for object subtyping,
but I was mainly correcting the plan, ensuring that required and optional types behaved correctly, and trying a bunch
of examples. Once I got a correct human proof, the Lean version held no surprises.&lt;/p&gt;
            &lt;/section&gt;
          &lt;section&gt;
            &lt;h3&gt;
              Object Construction&lt;/h3&gt;
            &lt;p&gt;
              Given some &lt;code&gt;TypedJson&lt;/code&gt;, say &lt;code&gt;x1 x2 : TypedJson t&lt;/code&gt;, I would like to be able to construct typed objects during compile time. This
might actually be the ideal use case for heterogeneous lists, a dependently typed list where each
element can have its own type.&lt;/p&gt;
            &lt;p&gt;
              I carefully put the key-values as type parameters, so I can access them at compile time more easily, then the actual typed
JSON is included as a field.&lt;/p&gt;
            &lt;pre&gt;/-- Heterogeneous list of object fields indexed by schema.
    Each field carries a TypedJson value with proof that it checks against its type. -/
inductive ObjectFields : List (String × JsonType) → Type where
  | nil : ObjectFields []
  | cons {ty : JsonType} {rest : List (String × JsonType)} (name : String) :
      TypedJson ty → ObjectFields rest → ObjectFields ((name, ty) :: rest)
&lt;/pre&gt;&lt;p&gt;
              Then I could guarantee objects would pass validation once you ensure no duplicates.&lt;/p&gt;
            &lt;pre&gt;/-- Construct an object from ObjectFields -/
def mkObj {req : List (String × JsonType)} (fields : ObjectFields req)
    (noDups : req.Pairwise (fun a b =&amp;gt; ¬compare a.1 b.1 = .eq) := by native_decide) :
    TypedJson (.object req []) := sorry
&lt;/pre&gt;&lt;p&gt;
              I had Claude Code make a macro that would construct ObjectFields using &lt;code&gt;obj{}&lt;/code&gt; notation, since I could just point
it at the existing macro for list syntax &lt;code&gt;[a, b, c]&lt;/code&gt;. Now we have a more readable constructor:&lt;/p&gt;
            &lt;pre&gt;def testMkObj (s : String) (n : Nat) : TypedJson (
      .object [("name", .string), ("age", .number)] []
    ) := -- obj{} just created an ObjectFields, which mkObj converts to TypedJson
  mkObj obj{"name": (s : TypedJson .string), "age": (n : TypedJson .number)}
&lt;/pre&gt;&lt;/section&gt;
          &lt;section&gt;
            &lt;h3&gt;
              Narrowing&lt;/h3&gt;
            &lt;p&gt;
              When you are within if statements, &lt;code&gt;TypeScript&lt;/code&gt; is capable of &lt;a href="https://www.typescriptlang.org/docs/handbook/2/narrowing.html#equality-narrowing"&gt;"narrowing"&lt;/a&gt;
unions to a variant:&lt;/p&gt;
            &lt;pre&gt;type Person =
    | { age: number, id: number }
    | { dob: Date }

const person = getPerson();

if ("age" in person) {
    // person's type is "narrowed" to {age : number, id: number}
    console.log("person.age =", person.age);
    console.log("person.id =", person.id);
}
&lt;/pre&gt;&lt;p&gt;
              This is really helpful, but it is also more fraught with difficulty than it appears. Since objects may have
&lt;em&gt;extra&lt;/em&gt; fields in JSON, it is possible to have &lt;code&gt;person = {dob: ..., age: 10}&lt;/code&gt;. Now TypeScript mistakenly
believes that &lt;code&gt;person.id&lt;/code&gt; is defined. When I learned about this, I decided that I should stop looking at the TypeScript
source code. For a proof of concept, I only discriminate using a known property's values.&lt;/p&gt;
            &lt;p&gt;
              The blog post
&lt;a href="https://effectivetypescript.com/2024/03/24/flownodes/"&gt;"Flow Nodes: How Type Inference Is Implemented"&lt;/a&gt;
really helped me here too. For Lean, we have to start with filters for whether properties can match or not:&lt;/p&gt;
            &lt;pre&gt;def JsonType.canMatchPropertyStr (t : JsonType) (key : String) (str : String) : Bool :=
  t.canBeObject &amp;&amp;
  match t.getKey? key with
  | .some kt =&amp;gt; kt.check str
  | .none =&amp;gt; true -- we have no information about key
&lt;/pre&gt;&lt;p&gt;
              If &lt;code&gt;x&lt;/code&gt; has property &lt;code&gt;key&lt;/code&gt; with value &lt;code&gt;str&lt;/code&gt;, then I prove that &lt;code&gt;t.check x = true&lt;/code&gt; implies &lt;code&gt;t.canMatchPropertyStr key str = true&lt;/code&gt;.
Similarly, if &lt;code&gt;x&lt;/code&gt; does &lt;strong&gt;not&lt;/strong&gt; have property &lt;code&gt;key&lt;/code&gt; with value &lt;code&gt;str&lt;/code&gt;, then I can prove &lt;code&gt;t.canMismatchPropertyStr key str = true&lt;/code&gt;.&lt;/p&gt;
            &lt;p&gt;
              If &lt;code&gt;t = t1 ||| t2 ||| t3 ||| t4&lt;/code&gt;, then I can turn that into a list &lt;code&gt;[t1, t2, t3, t4]&lt;/code&gt; for which at least one must check.
Now if &lt;code&gt;t.check x = true&lt;/code&gt;, then I know some &lt;code&gt;ti.check x = true&lt;/code&gt;, so &lt;code&gt;ti.canMatchPropertyStr key str&lt;/code&gt;. The upshot
is that I can filter &lt;code&gt;[t1, t2, t3, t4]&lt;/code&gt; for &lt;code&gt;canMatchPropertyStr&lt;/code&gt;, and one of them will still match &lt;code&gt;x&lt;/code&gt;.&lt;/p&gt;
            &lt;pre&gt;theorem JsonType.filterUnion_correctness
    {t : JsonType} {f : JsonType → Bool} {x : Json}
    (h : t.check x = true)
    (h' : ∀ t', t'.check x = true → f t' = true) :
    (t.filterUnion f).check x = true := by sorry
&lt;/pre&gt;&lt;p&gt;
              Putting this all the two together in &lt;code&gt;JsonType.narrowKeyStr&lt;/code&gt;, we can do narrowing:&lt;/p&gt;
            &lt;pre&gt;def circleType : JsonType :=
  .object [("type", .strLit "circle"), ("radius", .number)] []

def squareType : JsonType :=
  .object [("type", .strLit "square"), ("side", .number)] []

def shapeType : JsonType := circleType.union squareType

def calculateArea (shape : TypedJson shapeType) : IO Unit := do
  match h : shape.val.getObjVal? "type" with
  | .ok "circle" =&amp;gt;
    let circle : TypedJson circleType := (shape.narrowKeyStr "type" "circle" h).coe
    IO.println "Computing circle area"
  | .ok "square" =&amp;gt;
    let square : TypedJson squareType := (shape.narrowKeyStr "type" "square" h).coe
    IO.println "Computing square area"
  | _ =&amp;gt; IO.println "Unknown shape type"
&lt;/pre&gt;&lt;/section&gt;
          &lt;section&gt;
            &lt;h3&gt;
              Conclusion&lt;/h3&gt;
            &lt;p&gt;
              Despite the potential, creating schemas for all of VegaLite might be more work than I'd
be willing to go through for plotting, where I only need correctness for my data. Even falling
back to JSON Schema, there are plenty of opportunities for usability improvements there that would
more meaningfully change how I use Lean. The syntax for constructing JSON in Lean is very unergonomic, since we can't combine string formatting
with JSON syntax easily. Creating custom string syntax for JavaScript in general might be more usable
for using JavaScript libraries in widgets.&lt;/p&gt;
            &lt;p&gt;
              String formatting can't be combined with raw strings like &lt;code&gt;r##""##&lt;/code&gt;, and the default formatting uses &lt;code&gt;{}&lt;/code&gt;, a common string in
JavaScript and JSON. Mustache templating with multi-line strings would make it fairly
elegant to include &lt;a href="https://d3js.org/what-is-d3"&gt;&lt;code&gt;d3.js&lt;/code&gt;&lt;/a&gt; code inline in Lean.
We might be able to call out to TypeScript and even have nice &lt;a href="https://code.visualstudio.com/api/language-extensions/embedded-languages"&gt;VS Code support for the embedded language&lt;/a&gt;.
&lt;/p&gt;
            &lt;/section&gt;
          &lt;/section&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    </content><category term="article"></category><category term="math"></category><category term="lean"></category><category term="json"></category></entry><entry><title>Formalizing Hilbert Curves in Lean</title><link href="https://josephmckinsey.com/leanhilbertcurves.html" rel="alternate"></link><published>2025-08-03T18:54:00-06:00</published><updated>2025-08-03T18:54:00-06:00</updated><author><name>Joseph McKinsey</name></author><id>tag:josephmckinsey.com,2025-08-03:/leanhilbertcurves.html</id><summary type="html">A Lean 4 presentation of the different Hilbert curves + thoughts</summary><content type="html">
    &lt;style&gt;


.hl.lean {
  white-space: pre;
  font-weight: normal;
  font-style: normal;
}

.hl.lean .keyword {
  font-weight : bold;
}

.hl.lean .var {
  font-style: italic;
  position: relative;
}

.hover-container {
  width: 0;
  height: 0;
  position: relative;
  display: inline;
}

.hl.lean a {
  color: inherit;
  text-decoration: currentcolor underline dotted;
}

.hl.lean a:hover {
  text-decoration: currentcolor underline solid;
}

.hl.lean .hover-info {
  white-space: normal;
}

.hl.lean .token .hover-info {
  display: none;
  position: absolute;
  background-color: #e5e5e5;
  border: 1px solid black;
  padding: 0.5rem;
  z-index: 300;
  font-size: inherit;
}

.hl.lean .hover-info.messages {
  max-height: 10rem;
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-gutter: stable;
  padding: 0 0.5rem 0 0;
  display: block;
}

.hl.lean .hover-info code {
  white-space: pre-wrap;
}

.hl.lean .hover-info.messages &gt; code {
  padding: 0.5rem;
  display: block;
  width: fit-content;
}

.hl.lean .hover-info.messages &gt; code:only-child {
  margin: 0;
}

.hl.lean .hover-info.messages &gt; code {
  margin: 0.1rem;
}

.hl.lean .hover-info.messages &gt; code:not(:first-child) {
  margin-top: 0rem;
}

/*
@media (hover: hover) {
  .hl.lean .has-info:hover &gt; .hover-container &gt; .hover-info:not(.tactic *),
  .hl.lean .tactic:has(&gt; .tactic-toggle:checked) .has-info:hover &gt; .hover-container &gt; .hover-info,
  .hl.lean .token:hover &gt; .hover-container &gt; .hover-info:not(.has-info *):not(.tactic *),
  .hl.lean .tactic:has(&gt; .tactic-toggle:checked) .token:hover &gt; .hover-container &gt; .hover-info:not(.has-info *) {
    display: inline-block;
    position: absolute;
    top: 1rem;
    font-weight: normal;
    font-style: normal;
    width: min-content;
  }
}
*/

.hl.lean.block {
  display: block;
}

.hl.lean.inline {
  display: inline;
  white-space: pre-wrap;
}

.hl.lean .token {
  transition: all 0.25s; /* Slight fade for highlights */
}

@media (hover: hover) {
  .hl.lean .token.binding-hl, .hl.lean .literal.string:hover, .hl.lean .token.typed:hover {
    background-color: #eee;
    border-radius: 2px;
    transition: none;
  }
}


.hl.lean .has-info .token:not(.tactic-state):not(.tactic-state *), .hl.lean .has-info .inter-text:not(.tactic-state):not(.tactic-state *) {
  text-decoration-style: wavy;
  text-decoration-line: underline;
  text-decoration-thickness: from-font;
}

.hl.lean .has-info .hover-info {
  display: none;
  position: absolute;
  transform: translate(0.25rem, 0.3rem);
  border: 1px solid black;
  padding: 0.5rem;
  z-index: 400;
  text-align: left;
}

.hl.lean .has-info.error :not(.tactic-state):not(.tactic-state *){
  text-decoration-color: red;
}

@media (hover: hover) {
  .hl.lean .has-info.error:hover {
    background-color: #ffb3b3;
  }
}

.hl.lean .hover-info.messages &gt; code.error {
  background-color: #e5e5e5;
  border-left: 0.2rem solid #ffb3b3;
}

.tippy-box[data-theme~='error'] .hl.lean .hover-info.messages &gt; code.error {
  background: none;
  border: none;
}

.error pre {
    color: red;
}

.hl.lean .has-info.warning :not(.tactic-state):not(.tactic-state *) {
  text-decoration-color: var(--verso-warning-color);
}

@media (hover: hover) {
  .hl.lean .has-info.warning:hover {
    background-color:var(--verso-warning-color);
  }
}

.hl.lean .hover-info.messages &gt; code.warning {
  background-color: var(--verso-warning-color);
}

.hl.lean .hover-info.messages &gt; code.error {
  background-color: #e5e5e5;
  border-left: 0.2rem solid var(--verso-warning-color);
}

.tippy-box[data-theme~='warning'] .hl.lean .hover-info.messages &gt; code.warning {
  background: none;
  border: none;
}


.hl.lean .has-info.info :not(.tactic-state):not(.tactic-state *) {
  text-decoration-color: blue;
}

@media (hover: hover) {
  .hl.lean .has-info.info:hover {
    background-color: #4777ff;
  }
}


.hl.lean .hover-info.messages &gt; code.info {
  background-color: #e5e5e5;
  border-left: 0.2rem solid #4777ff;
}

.tippy-box[data-theme~='info'] .hl.lean .hover-info.messages &gt; code.info {
  background: none;
  border: none;
}

.hl.lean div.docstring {
  font-family: sans-serif;
  white-space: normal;
  max-width: 40rem;
  width: max-content;
}

.hl.lean div.docstring &gt; :last-child {
  margin-bottom: 0;
}

.hl.lean div.docstring &gt; :first-child {
  margin-top: 0;
}

.hl.lean .hover-info .sep {
  display: block;
  width: auto;
  margin-left: 1rem;
  margin-right: 1rem;
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  padding: 0;
  height: 1px;
  border-top: 1px solid #ccc;
}

.hl.lean code {
  font-family: monospace;
}

.hl.lean .tactic-state {
  display: none;
  position: relative;
  left: 2rem;
  width: fit-content;
  border: 1px solid #888888;
  border-radius: 0.1rem;
  padding: 0.5rem;
  font-family: sans-serif;
  background-color: #ffffff;
  z-index: 200;
}

.hl.lean.popup .tactic-state {
  position: static;
  display: block;
  width: auto;
  border: none;
  padding: 0.5rem;
  font-family: sans-serif;
  background-color: #ffffff;
}


.hl.lean .tactic {
  position: relative;
}

.hl.lean .tactic-toggle:checked ~ .tactic-state {
  display: block;
}

/*
@media (hover: hover) {
  .hl.lean .tactic:hover &gt; .tactic-toggle:not(:checked) ~ .tactic-state {
    display: block;
    position: absolute;
    left: 0;
    transform: translate(0.25rem, 0);
    z-index: 250;
  }
}
*/

.hl.lean .tactic &gt; label {
  position: relative;
  transition: all 0.5s;
}

@media (hover: hover) {
  .hl.lean .tactic &gt; label:hover {
    border-bottom: 1px dotted #bbbbbb;
  }
}

.hl.lean .tactic-toggle {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  height: 0;
  width: 0;
  z-index: -10;
}

.hl.lean .tactic &gt; label::after {
  content: "";
  border: 1px solid #bbbbbb;
  border-radius: 1rem;
  height: 0.25rem;
  vertical-align: middle;
  width: 0.6rem;
  margin-left: 0.1rem;
  margin-right: 0.1rem;
  display: inline-block;
  transition: all 0.5s;
}

/*
@media (hover: hover) {
  .hl.lean .tactic &gt; label:hover::after {
    border: 1px solid #aaaaaa;
    background-color: #aaaaaa;
    transition: all 0.5s;
  }
}
*/

.hl.lean .tactic &gt; label:has(+ .tactic-toggle:checked)::after {
  border: 1px solid #999999;
  background-color: #999999;
  transition: all 0.5s;
}

.hl.lean .tactic-state .goal + .goal {
  margin-top: 1.5rem;
}

.hl.lean .tactic-state summary {
  margin-left: -0.5rem;
}

.hl.lean .tactic-state details {
  padding-left: 0.5rem;
}

.hl.lean .case-label {
  display: block;
  position: relative;
}

.hl.lean .case-label input[type="checkbox"] {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  height: 0;
  width: 0;
  z-index: -10;
}

.hl.lean .case-label:has(input[type="checkbox"])::before {
  width: 1rem;
  height: 1rem;
  display: inline-block;
  background-color: black;
  content: ' ';
  transition: ease 0.2s;
  margin-right: 0.7rem;
  clip-path: polygon(100% 0, 0 0, 50% 100%);
  width: 0.6rem;
  height: 0.6rem;
}

.hl.lean .case-label:has(input[type="checkbox"]:not(:checked))::before {
  transform: rotate(-90deg);
}

.hl.lean .case-label:has(input[type="checkbox"]) {

}

.hl.lean .case-label:has(input[type="checkbox"]:checked) {

}


.hl.lean .tactic-state .labeled-case &gt; :not(:first-child) {
  max-height: 0px;
  display: block;
  overflow: hidden;
  transition: max-height 0.1s ease-in;
  margin-left: 0.5rem;
  margin-top: 0.1rem;
}

.hl.lean .labeled-case:has(.case-label input[type="checkbox"]:checked) &gt; :not(:first-child) {
  max-height: 100%;
}


.hl.lean .tactic-state .goal-name::before {
  font-style: normal;
  content: "case ";
}

.hl.lean .tactic-state .goal-name {
  font-style: italic;
  font-family: monospace;
}

.hl.lean .tactic-state .hypotheses {
  display: table;
}

.hl.lean .tactic-state .hypothesis {
  display: table-row;
}

.hl.lean .tactic-state .hypothesis &gt; * {
  display: table-cell;
}


.hl.lean .tactic-state .hypotheses .colon {
  text-align: center;
  min-width: 1rem;
}

.hl.lean .tactic-state .hypotheses .name {
  text-align: right;
}

.hl.lean .tactic-state .hypotheses .name,
.hl.lean .tactic-state .hypotheses .type,
.hl.lean .tactic-state .conclusion .type {
  font-family: monospace;
}

.tippy-box[data-theme~='lean'] {
  background-color: #e5e5e5;
  color: black;
  border: 1px solid black;
}
.tippy-box[data-theme~='lean'][data-placement^='top'] &gt; .tippy-arrow::before {
  border-top-color: #e5e5e5;
}
.tippy-box[data-theme~='lean'][data-placement^='bottom'] &gt; .tippy-arrow::before {
  border-bottom-color: #e5e5e5;
}
.tippy-box[data-theme~='lean'][data-placement^='left'] &gt; .tippy-arrow::before {
  border-left-color: #e5e5e5;
}
.tippy-box[data-theme~='lean'][data-placement^='right'] &gt; .tippy-arrow::before {
  border-right-color: #e5e5e5;
}

.tippy-box[data-theme~='message'][data-placement^='top'] &gt; .tippy-arrow::before {
  border-top-color: #e5e5e5;
  border-width: 11px 11px 0;
}
.tippy-box[data-theme~='message'][data-placement^='top'] &gt; .tippy-arrow::after {
  bottom: -11px;
  border-width: 11px 11px 0;
}
.tippy-box[data-theme~='message'][data-placement^='bottom'] &gt; .tippy-arrow::before {
  border-width: 0 11px 11px;
}
.tippy-box[data-theme~='message'][data-placement^='bottom'] &gt; .tippy-arrow::after {
  top: -11px;
  border-width: 0 11px 11px;
}
.tippy-box[data-theme~='message'][data-placement^='left'] &gt; .tippy-arrow::before {
  border-left-color: #e5e5e5;
  border-width: 11px 0 11px 11px;
}
.tippy-box[data-theme~='message'][data-placement^='left'] &gt; .tippy-arrow::after {
  right: -11px;
  border-width: 11px 0 11px 11px;
}

.tippy-box[data-theme~='message'][data-placement^='right'] &gt; .tippy-arrow::before {
  border-right-color: #e5e5e5;
  border-width: 11px 11px 11px 0;
}
.tippy-box[data-theme~='message'][data-placement^='right'] &gt; .tippy-arrow::after {
  left: -11px;
  border-width: 11px 11px 11px 0;
}



.tippy-box[data-theme~='warning'] {
  background-color: #e5e5e5;
  color: black;
  border: 3px solid var(--verso-warning-color);
}

.tippy-box[data-theme~='error'] {
  background-color: #e5e5e5;
  color: black;
  border: 3px solid #f7a7af;
}

.tippy-box[data-theme~='info'] {
  background-color: #e5e5e5;
  color: black;
  border: 3px solid #99b3c2;
}

.tippy-box[data-theme~='tactic'] {
  background-color: white;
  color: black;
  border: 1px solid black;
}
.tippy-box[data-theme~='tactic'][data-placement^='top'] &gt; .tippy-arrow::before {
  border-top-color: white;
}
.tippy-box[data-theme~='tactic'][data-placement^='bottom'] &gt; .tippy-arrow::before {
  border-bottom-color: white;
}
.tippy-box[data-theme~='tactic'][data-placement^='left'] &gt; .tippy-arrow::before {
  border-left-color: white;
}
.tippy-box[data-theme~='tactic'][data-placement^='right'] &gt; .tippy-arrow::before {
  border-right-color: white;
}


&lt;/style&gt;
&lt;script&gt;
      

window.onload = () =&gt; {

    // Don't show hovers inside of closed tactic states
    function blockedByTactic(elem) {
      let parent = elem.parentNode;
      while (parent &amp;&amp; "classList" in parent) {
        if (parent.classList.contains("tactic")) {
          const toggle = parent.querySelector("input.tactic-toggle");
          if (toggle) {
            return !toggle.checked;
          }
        }
        parent = parent.parentNode;
      }
      return false;
    }

    function blockedByTippy(elem) {
      // Don't show a new hover until the old ones are all closed.
      // Scoped to the nearest "top-level block" to avoid being O(n) in the size of the document.
      var block = elem;
      const topLevel = new Set(["section", "body", "html", "nav", "header"]);
      while (block.parentNode &amp;&amp; !topLevel.has(block.parentNode.nodeName.toLowerCase())) {
        block = block.parentNode;
      }
      for (const child of block.querySelectorAll(".token, .has-info")) {
        if (child._tippy &amp;&amp; child._tippy.state.isVisible) { return true };
      }
      return false;
    }

    for (const c of document.querySelectorAll(".hl.lean .token")) {
        if (c.dataset.binding != "") {
            c.addEventListener("mouseover", (event) =&gt; {
                if (blockedByTactic(c)) {return;}
                const context = c.closest(".hl.lean").dataset.leanContext;
                for (const example of document.querySelectorAll(".hl.lean")) {
                    if (example.dataset.leanContext == context) {
                        for (const tok of example.querySelectorAll(".token")) {
                            if (c.dataset.binding == tok.dataset.binding) {
                                tok.classList.add("binding-hl");
                            }
                        }
                    }
                }
            });
        }
        c.addEventListener("mouseout", (event) =&gt; {
            for (const tok of document.querySelectorAll(".hl.lean .token")) {
                tok.classList.remove("binding-hl");
            }
        });
    }
    /* Render docstrings */
    if ('undefined' !== typeof marked) {
        for (const d of document.querySelectorAll("code.docstring, pre.docstring")) {
            const str = d.innerText;
            const html = marked.parse(str);
            const rendered = document.createElement("div");
            rendered.classList.add("docstring");
            rendered.innerHTML = html;
            d.parentNode.replaceChild(rendered, d);
        }
    }
    // Add hovers
    let siteRoot = typeof __versoSiteRoot !== 'undefined' ? __versoSiteRoot : "/";
    let docsJson = siteRoot + "hilbertcurve/verso-docs.json";
    fetch(docsJson).then((resp) =&gt; resp.json()).then((versoDocData) =&gt; {

      function hideParentTooltips(element) {
        let parent = element.parentElement;
        while (parent) {
          const tippyInstance = parent._tippy;
          if (tippyInstance) {
            tippyInstance.hide();
          }
          parent = parent.parentElement;
        }
      }



      const defaultTippyProps = {
        /* DEBUG -- remove the space: * /
        onHide(any) { return false; },
        trigger: "click",
        // */
        /* theme: "lean", */
        maxWidth: "none",
        appendTo: () =&gt; document.body,
        interactive: true,
        delay: [100, null],
        /* ignoreAttributes: true, */
        followCursor: 'initial',
        onShow(inst) {
          if (inst.reference.className == 'tactic') {

            const toggle = inst.reference.querySelector("input.tactic-toggle");
            if (toggle &amp;&amp; toggle.checked) {
              return false;
            }
            hideParentTooltips(inst.reference);
            //if (blockedByTippy(inst.reference)) { return false; }

          } else if (inst.reference.querySelector(".hover-info") || "versoHover" in inst.reference.dataset) {
            if (blockedByTactic(inst.reference)) { return false };
            if (blockedByTippy(inst.reference)) { return false; }
          } else { // Nothing to show here!
            return false;
          }
        },
        content (tgt) {
          const content = document.createElement("span");
          if (tgt.className == 'tactic') {
            const state = tgt.querySelector(".tactic-state").cloneNode(true);
            state.style.display = "block";
            content.appendChild(state);
            content.style.display = "block";
            content.className = "hl lean popup";
          } else {
            content.className = "hl lean";
            content.style.display = "block";
            content.style.maxHeight = "300px";
            content.style.overflowY = "auto";
            content.style.overflowX = "hidden";
            const hoverId = tgt.dataset.versoHover;
            const hoverInfo = tgt.querySelector(".hover-info");
            if (hoverId) { // Docstrings from the table
              // TODO stop doing an implicit conversion from string to number here
              let data = versoDocData[hoverId];
              if (data) {
                const info = document.createElement("span");
                info.className = "hover-info";
                info.style.display = "block";
                info.innerHTML = data;
                content.appendChild(info);
                /* Render docstrings - TODO server-side */
                if ('undefined' !== typeof marked) {
                    for (const d of content.querySelectorAll("code.docstring, pre.docstring")) {
                        const str = d.innerText;
                        const html = marked.parse(str);
                        const rendered = document.createElement("div");
                        rendered.classList.add("docstring");
                        rendered.innerHTML = html;
                        d.parentNode.replaceChild(rendered, d);
                    }
                }
              } else {
                content.innerHTML = "Failed to load doc ID: " + hoverId;
              }
            } else if (hoverInfo) { // The inline info, still used for compiler messages
              content.appendChild(hoverInfo.cloneNode(true));
            }
          }
          return content;
        }
      };



      const addTippy = (selector, props) =&gt; {
        tippy(selector, Object.assign({}, defaultTippyProps, props));
      };
      document.querySelectorAll('.hl.lean .const.token, .hl.lean .keyword.token, .hl.lean .literal.token, .hl.lean .option.token, .hl.lean .var.token, .hl.lean .typed.token').forEach(element =&gt; {
        element.setAttribute('data-tippy-theme', 'lean');
      });
      document.querySelectorAll('.hl.lean .has-info.warning').forEach(element =&gt; {
        element.setAttribute('data-tippy-theme', 'warning message');
      });
      document.querySelectorAll('.hl.lean .has-info.info').forEach(element =&gt; {
        element.setAttribute('data-tippy-theme', 'info message');
      });
      document.querySelectorAll('.hl.lean .has-info.error').forEach(element =&gt; {
        element.setAttribute('data-tippy-theme', 'error message');
      });
      document.querySelectorAll('.hl.lean .tactic').forEach(element =&gt; {
        element.setAttribute('data-tippy-theme', 'tactic');
      });
      let insts = tippy('.hl.lean .const.token, .hl.lean .keyword.token, .hl.lean .literal.token, .hl.lean .option.token, .hl.lean .var.token, .hl.lean .typed.token, .hl.lean .has-info, .hl.lean .tactic', defaultTippyProps);



      /*
      tippy('.hl.lean .tactic', {
        allowHtml: true,

        onHide(any) { return false; },
        trigger: "click",

        maxWidth: "none",
        onShow(inst) {
          const toggle = inst.reference.querySelector("input.tactic-toggle");
          if (toggle &amp;&amp; toggle.checked) {
            return false;
          }
          if (blockedByTippy(inst.reference)) { return false; }
        },
        content (tgt) {
          const content = document.createElement("span");
          const state = tgt.querySelector(".tactic-state").cloneNode(true);
          state.style.display = "block";
          content.appendChild(state);
          content.style.display = "block";
          content.className = "hl lean popup";
          return content;
        }
      });
      */
  });
}

&lt;/script&gt;
    
&lt;script&gt;
      
document.addEventListener("DOMContentLoaded", () =&gt; {
    for (const m of document.querySelectorAll(".math.inline")) {
        katex.render(m.textContent, m, {throwOnError: false, displayMode: false});
    }
    for (const m of document.querySelectorAll(".math.display")) {
        katex.render(m.textContent, m, {throwOnError: false, displayMode: true});
    }
});
&lt;/script&gt;
    
&lt;script src="/hilbertcurve/verso-js/popper.js"&gt;&lt;/script&gt;
    &lt;script src="/hilbertcurve/verso-js/tippy.js"&gt;&lt;/script&gt;
    &lt;link rel="stylesheet" href="/hilbertcurve/verso-css/tippy-border.css"&gt;
    &lt;link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/katex.min.css" integrity="sha384-n8MVd4RsNIU0tAv4ct0nTaAbDJwPJzDEaqSD1odI+WdtXRGWt2kTvGFasHpSy3SV" crossorigin="anonymous"&gt;
    &lt;script defer="defer" src="https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/katex.min.js" integrity="sha384-XjKyOOlGwcjNTAIQHIpgOno0Hl1YQqzUOEleOLALmuqehneUG+vnGctmUb0ZY0l8" crossorigin="anonymous"&gt;&lt;/script&gt;
    &lt;script src="https://cdn.jsdelivr.net/npm/marked@11.1.1/marked.min.js" integrity="sha384-zbcZAIxlvJtNE3Dp5nxLXdXtXyxwOdnILY1TDPVmKFhl4r4nSUG1r8bcFXGVa4Te" crossorigin="anonymous"&gt;&lt;/script&gt;
    &lt;div class="main" role="main"&gt;
      &lt;div class="wrap"&gt;
        &lt;h1&gt;
          Formalizing Hilbert Curves in Lean&lt;/h1&gt;
        &lt;p&gt;
          The famous Hilbert curve has a simple inductive construction, but key portions use analysis. &lt;a href="https://lean-lang.org"&gt;Lean&lt;/a&gt; should be an ideal proof assistant for applying the key mathematical principles. In my &lt;a href="https://josephmckinsey.com/hilbertcurves.html"&gt;last post&lt;/a&gt;, I walked through informal definitions and proofs. The following concerns a more sophisticated perspective on how Lean can undertake this sort of mathematics.&lt;/p&gt;
        &lt;svg width="20%" height="20%" viewbox="0 0 400 400" alt="A simple example of iteration 1 of the Hilbert Curve." xmlns="http://www.w3.org/2000/svg" version="1.1" width="400" height="400"&gt;&lt;line x1="66" y1="333" x2="66" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="200" x2="200" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="200" x2="200" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;svg width="20%" height="20%" viewbox="0 0 400 400" alt="A simple example of iteration 2 of the Hilbert Curve." xmlns="http://www.w3.org/2000/svg" version="1.1" width="400" height="400"&gt;&lt;line x1="66" y1="333" x2="133" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="333" x2="133" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="266" x2="66" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="266" x2="66" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="200" x2="66" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="133" x2="133" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="133" x2="133" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="200" x2="200" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="200" x2="200" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="133" x2="266" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="133" x2="266" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="200" x2="266" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="266" x2="200" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="266" x2="200" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="333" x2="266" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;svg width="20%" height="20%" viewbox="0 0 400 400" alt="A simple example of iteration 3 of the Hilbert Curve." xmlns="http://www.w3.org/2000/svg" version="1.1" width="400" height="400"&gt;&lt;line x1="66" y1="333" x2="66" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="300" x2="100" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="300" x2="100" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="333" x2="133" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="333" x2="166" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="333" x2="166" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="300" x2="133" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="300" x2="133" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="266" x2="166" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="266" x2="166" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="233" x2="133" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="233" x2="100" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="233" x2="100" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="266" x2="66" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="266" x2="66" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="233" x2="66" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="200" x2="100" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="200" x2="100" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="166" x2="66" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="166" x2="66" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="133" x2="66" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="100" x2="100" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="100" x2="100" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="133" x2="133" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="133" x2="133" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="100" x2="166" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="100" x2="166" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="133" x2="166" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="166" x2="133" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="166" x2="133" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="200" x2="166" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="200" x2="200" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="200" x2="233" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="200" x2="233" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="166" x2="200" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="166" x2="200" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="133" x2="200" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="100" x2="233" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="100" x2="233" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="133" x2="266" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="133" x2="266" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="100" x2="300" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="100" x2="300" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="133" x2="300" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="166" x2="266" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="166" x2="266" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="200" x2="300" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="200" x2="300" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="233" x2="300" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="266" x2="266" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="266" x2="266" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="233" x2="233" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="233" x2="200" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="233" x2="200" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="266" x2="233" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="266" x2="233" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="300" x2="200" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="300" x2="200" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="333" x2="233" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="333" x2="266" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="333" x2="266" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="300" x2="300" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="300" x2="300" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;svg width="20%" height="20%" viewbox="0 0 400 400" alt="A simple example of iteration 4 of the Hilbert Curve." xmlns="http://www.w3.org/2000/svg" version="1.1" width="400" height="400"&gt;&lt;line x1="66" y1="333" x2="83" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="83" y1="333" x2="83" y2="316" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="83" y1="316" x2="66" y2="316" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="316" x2="66" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="300" x2="66" y2="283" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="283" x2="83" y2="283" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="83" y1="283" x2="83" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="83" y1="300" x2="100" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="300" x2="100" y2="283" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="283" x2="116" y2="283" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="116" y1="283" x2="116" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="116" y1="300" x2="116" y2="316" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="116" y1="316" x2="100" y2="316" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="316" x2="100" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="333" x2="116" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="116" y1="333" x2="133" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="333" x2="133" y2="316" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="316" x2="150" y2="316" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="150" y1="316" x2="150" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="150" y1="333" x2="166" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="333" x2="183" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="183" y1="333" x2="183" y2="316" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="183" y1="316" x2="166" y2="316" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="316" x2="166" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="300" x2="183" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="183" y1="300" x2="183" y2="283" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="183" y1="283" x2="166" y2="283" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="283" x2="150" y2="283" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="150" y1="283" x2="150" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="150" y1="300" x2="133" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="300" x2="133" y2="283" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="283" x2="133" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="266" x2="133" y2="250" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="250" x2="150" y2="250" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="150" y1="250" x2="150" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="150" y1="266" x2="166" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="266" x2="183" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="183" y1="266" x2="183" y2="250" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="183" y1="250" x2="166" y2="250" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="250" x2="166" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="233" x2="183" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="183" y1="233" x2="183" y2="216" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="183" y1="216" x2="166" y2="216" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="216" x2="150" y2="216" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="150" y1="216" x2="150" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="150" y1="233" x2="133" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="233" x2="133" y2="216" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="216" x2="116" y2="216" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="116" y1="216" x2="100" y2="216" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="216" x2="100" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="233" x2="116" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="116" y1="233" x2="116" y2="250" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="116" y1="250" x2="116" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="116" y1="266" x2="100" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="266" x2="100" y2="250" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="250" x2="83" y2="250" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="83" y1="250" x2="83" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="83" y1="266" x2="66" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="266" x2="66" y2="250" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="250" x2="66" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="233" x2="83" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="83" y1="233" x2="83" y2="216" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="83" y1="216" x2="66" y2="216" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="216" x2="66" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="200" x2="66" y2="183" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="183" x2="83" y2="183" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="83" y1="183" x2="83" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="83" y1="200" x2="100" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="200" x2="116" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="116" y1="200" x2="116" y2="183" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="116" y1="183" x2="100" y2="183" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="183" x2="100" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="166" x2="116" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="116" y1="166" x2="116" y2="150" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="116" y1="150" x2="100" y2="150" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="150" x2="83" y2="150" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="83" y1="150" x2="83" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="83" y1="166" x2="66" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="166" x2="66" y2="150" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="150" x2="66" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="133" x2="83" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="83" y1="133" x2="83" y2="116" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="83" y1="116" x2="66" y2="116" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="116" x2="66" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="100" x2="66" y2="83" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="83" x2="83" y2="83" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="83" y1="83" x2="83" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="83" y1="100" x2="100" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="100" x2="100" y2="83" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="83" x2="116" y2="83" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="116" y1="83" x2="116" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="116" y1="100" x2="116" y2="116" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="116" y1="116" x2="100" y2="116" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="116" x2="100" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="133" x2="116" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="116" y1="133" x2="133" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="133" x2="150" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="150" y1="133" x2="150" y2="116" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="150" y1="116" x2="133" y2="116" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="116" x2="133" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="100" x2="133" y2="83" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="83" x2="150" y2="83" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="150" y1="83" x2="150" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="150" y1="100" x2="166" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="100" x2="166" y2="83" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="83" x2="183" y2="83" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="183" y1="83" x2="183" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="183" y1="100" x2="183" y2="116" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="183" y1="116" x2="166" y2="116" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="116" x2="166" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="133" x2="183" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="183" y1="133" x2="183" y2="150" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="183" y1="150" x2="183" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="183" y1="166" x2="166" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="166" x2="166" y2="150" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="150" x2="150" y2="150" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="150" y1="150" x2="133" y2="150" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="150" x2="133" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="166" x2="150" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="150" y1="166" x2="150" y2="183" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="150" y1="183" x2="133" y2="183" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="183" x2="133" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="200" x2="150" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="150" y1="200" x2="166" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="200" x2="166" y2="183" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="183" x2="183" y2="183" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="183" y1="183" x2="183" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="183" y1="200" x2="200" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="200" x2="200" y2="183" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="183" x2="216" y2="183" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="216" y1="183" x2="216" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="216" y1="200" x2="233" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="200" x2="250" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="250" y1="200" x2="250" y2="183" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="250" y1="183" x2="233" y2="183" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="183" x2="233" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="166" x2="250" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="250" y1="166" x2="250" y2="150" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="250" y1="150" x2="233" y2="150" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="150" x2="216" y2="150" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="216" y1="150" x2="216" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="216" y1="166" x2="200" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="166" x2="200" y2="150" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="150" x2="200" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="133" x2="216" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="216" y1="133" x2="216" y2="116" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="216" y1="116" x2="200" y2="116" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="116" x2="200" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="100" x2="200" y2="83" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="83" x2="216" y2="83" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="216" y1="83" x2="216" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="216" y1="100" x2="233" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="100" x2="233" y2="83" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="83" x2="250" y2="83" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="250" y1="83" x2="250" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="250" y1="100" x2="250" y2="116" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="250" y1="116" x2="233" y2="116" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="116" x2="233" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="133" x2="250" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="250" y1="133" x2="266" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="133" x2="283" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="283" y1="133" x2="283" y2="116" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="283" y1="116" x2="266" y2="116" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="116" x2="266" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="100" x2="266" y2="83" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="83" x2="283" y2="83" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="283" y1="83" x2="283" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="283" y1="100" x2="300" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="100" x2="300" y2="83" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="83" x2="316" y2="83" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="316" y1="83" x2="316" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="316" y1="100" x2="316" y2="116" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="316" y1="116" x2="300" y2="116" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="116" x2="300" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="133" x2="316" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="316" y1="133" x2="316" y2="150" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="316" y1="150" x2="316" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="316" y1="166" x2="300" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="166" x2="300" y2="150" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="150" x2="283" y2="150" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="283" y1="150" x2="266" y2="150" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="150" x2="266" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="166" x2="283" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="283" y1="166" x2="283" y2="183" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="283" y1="183" x2="266" y2="183" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="183" x2="266" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="200" x2="283" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="283" y1="200" x2="300" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="200" x2="300" y2="183" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="183" x2="316" y2="183" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="316" y1="183" x2="316" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="316" y1="200" x2="316" y2="216" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="316" y1="216" x2="300" y2="216" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="216" x2="300" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="233" x2="316" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="316" y1="233" x2="316" y2="250" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="316" y1="250" x2="316" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="316" y1="266" x2="300" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="266" x2="300" y2="250" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="250" x2="283" y2="250" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="283" y1="250" x2="283" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="283" y1="266" x2="266" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="266" x2="266" y2="250" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="250" x2="266" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="233" x2="283" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="283" y1="233" x2="283" y2="216" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="283" y1="216" x2="266" y2="216" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="216" x2="250" y2="216" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="250" y1="216" x2="250" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="250" y1="233" x2="233" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="233" x2="233" y2="216" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="216" x2="216" y2="216" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="216" y1="216" x2="200" y2="216" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="216" x2="200" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="233" x2="216" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="216" y1="233" x2="216" y2="250" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="216" y1="250" x2="200" y2="250" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="250" x2="200" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="266" x2="216" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="216" y1="266" x2="233" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="266" x2="233" y2="250" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="250" x2="250" y2="250" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="250" y1="250" x2="250" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="250" y1="266" x2="250" y2="283" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="250" y1="283" x2="250" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="250" y1="300" x2="233" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="300" x2="233" y2="283" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="283" x2="216" y2="283" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="216" y1="283" x2="200" y2="283" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="283" x2="200" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="300" x2="216" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="216" y1="300" x2="216" y2="316" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="216" y1="316" x2="200" y2="316" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="316" x2="200" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="333" x2="216" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="216" y1="333" x2="233" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="333" x2="233" y2="316" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="316" x2="250" y2="316" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="250" y1="316" x2="250" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="250" y1="333" x2="266" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="333" x2="283" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="283" y1="333" x2="283" y2="316" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="283" y1="316" x2="266" y2="316" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="316" x2="266" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="300" x2="266" y2="283" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="283" x2="283" y2="283" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="283" y1="283" x2="283" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="283" y1="300" x2="300" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="300" x2="300" y2="283" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="283" x2="316" y2="283" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="316" y1="283" x2="316" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="316" y1="300" x2="316" y2="316" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="316" y1="316" x2="300" y2="316" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="316" x2="300" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="333" x2="316" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;p&gt;
          I'll present some of my formalization below using Verso, Lean's new HTML generation tool, but I'll also tell you about the other interesting facts you learn by thinking hard about every detail while coding a formalization, such as Hölder continuity, computability, partial invertibility, etc. Despite disappointing AI provers, promising inline visualizations with ProofWidgets, and our lovely library of math &lt;a href="https://github.com/leanprover-community/mathlib4"&gt;&lt;code&gt;mathlib&lt;/code&gt;&lt;/a&gt;, the challenging gaps left by spatial intuition leave a lot of gnarly induction, casework, and algebra, along with some confusing remnants from &lt;code&gt;mathlib&lt;/code&gt; and Lean's casting rules.&lt;/p&gt;
        &lt;ol start="1"&gt;
          &lt;li&gt;
            &lt;p&gt;
              &lt;a href="#notationsection"&gt;Notation for the Hilbert Curve&lt;/a&gt;&lt;/p&gt;
            &lt;/li&gt;
          &lt;li&gt;
            &lt;p&gt;
              &lt;a href="#leandesign"&gt;Lean Design Decisions and Selected Proofs&lt;/a&gt;&lt;/p&gt;
            &lt;/li&gt;
          &lt;li&gt;
            &lt;p&gt;
              &lt;a href="#additionaldirections"&gt;Additional Directions&lt;/a&gt;&lt;/p&gt;
            &lt;/li&gt;
          &lt;li&gt;
            &lt;p&gt;
              &lt;a href="#proscons"&gt;Pros and Cons of using Lean here&lt;/a&gt;&lt;/p&gt;
            &lt;/li&gt;
          &lt;li&gt;
            &lt;p&gt;
              &lt;a href="#conclusion"&gt;Conclusion&lt;/a&gt;&lt;/p&gt;
            &lt;/li&gt;
          &lt;li&gt;
            &lt;p&gt;
              &lt;a href="#verso"&gt;P.S. Verso is fine&lt;/a&gt;&lt;/p&gt;
            &lt;/li&gt;
          &lt;/ol&gt;
        &lt;section&gt;
          &lt;h2&gt;
            &lt;span id="notationsection"&gt;Mathematical Notation for the Hilbert Curve&lt;/span&gt;&lt;/h2&gt;
          &lt;p&gt;
            We will construct integer versions of the Hilbert curve denoted as &lt;code class="math inline"&gt;H_n(i)&lt;/code&gt; where &lt;code class="math inline"&gt;n&lt;/code&gt; and &lt;code class="math inline"&gt;i&lt;/code&gt; are natural numbers, and &lt;code class="math inline"&gt;H_n(i)&lt;/code&gt; is a pair of natural numbers.&lt;/p&gt;
          &lt;p&gt;
            When we interpolate and scale down the integer versions, we'll use &lt;code class="math inline"&gt;\tilde{H}_i(t)&lt;/code&gt;.&lt;/p&gt;
          &lt;p&gt;
            Finally when we pass to the limit and get the final curve, as &lt;code class="math inline"&gt;H(t)&lt;/code&gt; with no superscript or subscript.&lt;/p&gt;
          &lt;/section&gt;
        &lt;section&gt;
          &lt;h2&gt;
            &lt;span id="leandesign"&gt;Lean Design Decisions and Selected Proofs&lt;/span&gt;&lt;/h2&gt;
          &lt;p&gt;
            If you don't care about the details of Lean proofs, then I would skip this section, so go to &lt;a href="#additionaldirections"&gt;Additional Directions&lt;/a&gt;. If you are mildly interested, please skim all the proofs!&lt;/p&gt;
          &lt;p&gt;
            In our proofs in the &lt;a href="https://josephmckinsey.com/hilbertcurves.html"&gt;previous post&lt;/a&gt;, I did mention the explicit definitions of each version, however most of the proofs deferred the case-work and algebra to the reader. Often, the truth of the statement is completely clear from the pictures involved, such as the bounds and injectivity of the integer case &lt;code class="math inline"&gt;H_i(n)&lt;/code&gt;. Of course, this is insufficient for a truly formal proof as in Lean 4. The primary tool for the low-level definitions is essentially always induction, but we still need to label the different cases.&lt;/p&gt;
          &lt;p&gt;
            Filling out the details here will involve explaining to Lean what a "quadrant" is, how the various intervals map to those quadrants, and explaining in detail what each transformation does, and defining their properties. In particular, the later proofs require continuity assumptions.&lt;/p&gt;
          &lt;p&gt;
            Additionally, there are some activities that seem to be mildly inadequately covered in Lean's &lt;code&gt;mathlib&lt;/code&gt;: casting from &lt;code class="math inline"&gt;\mathbb{N} \times \mathbb{N}&lt;/code&gt; to &lt;code class="math inline"&gt;\mathbb{Z} \times \mathbb{Z}&lt;/code&gt; and to &lt;code class="math inline"&gt;\mathbb{R} \times \mathbb{R}&lt;/code&gt;, linear interpolation, and a few proofs about floors.&lt;/p&gt;
          &lt;section&gt;
            &lt;h3&gt;
              &lt;span id="leantransformations"&gt;Transformations and Quadrants&lt;/span&gt;&lt;/h3&gt;
            &lt;p&gt;
              I define a custom name for the lengths, since it appeared as a very common repeated expression. In retrospect, I probably would I have used &lt;code class="math inline"&gt;4^n&lt;/code&gt; and made the term reducible to &lt;code&gt;4^n&lt;/code&gt; automatically, but you live and learn. I would not be surprised if
my other choices here were somewhat suboptimal, especially the quadrants.&lt;/p&gt;
            &lt;code class="hl lean block" data-lean-context="notOpen"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.definition-4004"&gt;def&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-hilbert_length" data-verso-hover="0"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.2" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℕ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;2&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;^&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;2&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;*&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.2" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;&lt;/span&gt;&lt;/code&gt;&lt;p&gt;
              For each of the integer transformations, we'll need some code.&lt;/p&gt;
            &lt;code class="hl lean block" data-lean-context="notOpen"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.definition-4129"&gt;def&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-T0_nat" data-verso-hover="2"&gt;T0_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;×&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;×&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.swap" data-verso-hover="3"&gt;Prod.swap&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.definition-4181"&gt;def&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-T1_nat" data-verso-hover="4"&gt;T1_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℕ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.417" data-verso-hover="5"&gt;mn&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;×&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℕ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;×&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.417" data-verso-hover="5"&gt;mn&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;0&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;2&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;^&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.definition-4250"&gt;def&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-T2_nat" data-verso-hover="6"&gt;T2_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.922" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℕ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.926" data-verso-hover="5"&gt;mn&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;×&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℕ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;×&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.926" data-verso-hover="5"&gt;mn&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;2&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;^&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.922" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;2&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;^&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.922" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.definition-4321"&gt;def&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-T3_nat" data-verso-hover="7"&gt;T3_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.1723" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℕ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.1727" data-verso-hover="5"&gt;mn&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;×&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℕ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;×&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;2&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;^&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.1723" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;+&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;-&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;2&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;^&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.1723" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;-&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;-&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.1727" data-verso-hover="5"&gt;mn&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.swap" data-verso-hover="3"&gt;swap&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;&lt;/span&gt;&lt;/code&gt;&lt;p&gt;
              Since the natural numbers are truly awful once you have subtraction, we have a ring version that applies any ring, so we get &lt;code class="math inline"&gt;\mathbb{Z}&lt;/code&gt; and &lt;code class="math inline"&gt;\mathbb{R}&lt;/code&gt;. Since we have this more general statements, we drop the &lt;code&gt;_nat&lt;/code&gt;.&lt;/p&gt;
            &lt;code class="hl lean block" data-lean-context="notOpen"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.variable-4653" data-verso-hover="8"&gt;variable&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;{&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.3640" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="sort token" data-binding="" data-verso-hover="10"&gt;Type*&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;}&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="const token" data-binding="const-Ring" data-verso-hover="11"&gt;Ring&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.3640" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;span class="inter-text"&gt;

&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.definition-4684"&gt;def&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-T3" data-verso-hover="12"&gt;T3&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.3651" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℕ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.3640" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;×&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.3640" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→ᵃ[&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.3640" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.3640" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;×&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.3640" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;{&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="const token" data-binding="const-AffineMap.toFun" data-verso-hover="13"&gt;toFun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.fun-4743"&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6358" data-verso-hover="14"&gt;mn&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;=&amp;gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="15"&gt;2&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;^&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.3651" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;+&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;-&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="15"&gt;1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="15"&gt;2&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;^&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.3651" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;-&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="15"&gt;1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;-&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6358" data-verso-hover="14"&gt;mn&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.swap" data-verso-hover="3"&gt;swap&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="const token" data-binding="const-AffineMap.linear" data-verso-hover="16"&gt;linear&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;-&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T0" data-verso-hover="17"&gt;HilbertCurve.T0&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="const token" data-binding="const-AffineMap.map_vadd'" data-verso-hover="18"&gt;map_vadd'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.7814" data-verso-hover="14"&gt;p&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.7817" data-verso-hover="14"&gt;v&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-12199520312140290783-4834-4836"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.byTactic-4834" data-verso-hover="19"&gt;by&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-12199520312140290783-4834-4836"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.3640" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="sort token" data-binding="" data-verso-hover="20"&gt;Type u_1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.3649" data-verso-hover="21"&gt;inst✝&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Ring" data-verso-hover="11"&gt;Ring&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.3640" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.3651" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.7814" data-verso-hover="14"&gt;p&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.3640" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.3640" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.7817" data-verso-hover="14"&gt;v&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.3640" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.3640" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.3651" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.3651" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="const token" data-binding="const-HVAdd.hVAdd" data-verso-hover="28"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.7817" data-verso-hover="14"&gt;v&lt;/span&gt;&lt;span class="const token" data-binding="const-HVAdd.hVAdd" data-verso-hover="28"&gt; +ᵥ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.7814" data-verso-hover="14"&gt;p&lt;/span&gt;&lt;span class="const token" data-binding="const-HVAdd.hVAdd" data-verso-hover="28"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.swap" data-verso-hover="3"&gt;swap&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-Neg.neg" data-verso-hover="30"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-Neg.neg" data-verso-hover="30"&gt;-&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T0" data-verso-hover="17"&gt;HilbertCurve.T0&lt;/span&gt;&lt;span class="const token" data-binding="const-Neg.neg" data-verso-hover="30"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.7817" data-verso-hover="14"&gt;v&lt;/span&gt;&lt;span class="const token" data-binding="const-HVAdd.hVAdd" data-verso-hover="28"&gt; +ᵥ &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.3651" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.3651" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.7814" data-verso-hover="14"&gt;p&lt;/span&gt;&lt;span class="inter-text"&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.swap" data-verso-hover="3"&gt;swap&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-8473154589405284026-4841-4863"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.simp-4841" data-verso-hover="31"&gt;simp&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T0" data-verso-hover="17"&gt;HilbertCurve.T0&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-8473154589405284026-4841-4863"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.3640" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="sort token" data-binding="" data-verso-hover="20"&gt;Type u_1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.3649" data-verso-hover="21"&gt;inst✝&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Ring" data-verso-hover="11"&gt;Ring&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.3640" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.3651" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.7814" data-verso-hover="14"&gt;p&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.3640" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.3640" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.7817" data-verso-hover="14"&gt;v&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.3640" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.3640" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.3651" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.3651" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.7817" data-verso-hover="14"&gt;v&lt;/span&gt;&lt;span class="inter-text"&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.swap" data-verso-hover="3"&gt;swap&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.7814" data-verso-hover="14"&gt;p&lt;/span&gt;&lt;span class="inter-text"&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.swap" data-verso-hover="3"&gt;swap&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-Neg.neg" data-verso-hover="30"&gt;-&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.7817" data-verso-hover="14"&gt;v&lt;/span&gt;&lt;span class="inter-text"&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.swap" data-verso-hover="3"&gt;swap&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.3651" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.3651" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.7814" data-verso-hover="14"&gt;p&lt;/span&gt;&lt;span class="inter-text"&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.swap" data-verso-hover="3"&gt;swap&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-6969243206909804675-4868-4913"&gt;&lt;span class="keyword token" data-binding="kw-occ-Mathlib.Tactic.setTactic-4868"&gt;set&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.12877" data-verso-hover="14"&gt;a&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="15"&gt;2&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.3640" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;^&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.3651" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;-&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="15"&gt;1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="15"&gt;2&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.3640" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;^&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.3651" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;-&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="15"&gt;1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-6969243206909804675-4868-4913"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.3640" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="sort token" data-binding="" data-verso-hover="20"&gt;Type u_1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.3649" data-verso-hover="21"&gt;inst✝&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Ring" data-verso-hover="11"&gt;Ring&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.3640" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.3651" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.7814" data-verso-hover="14"&gt;p&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.3640" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.3640" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.7817" data-verso-hover="14"&gt;v&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.3640" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.3640" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.12877" data-verso-hover="14"&gt;a&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.3640" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.3640" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.3651" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.3651" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.12877" data-verso-hover="14"&gt;a&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.7817" data-verso-hover="14"&gt;v&lt;/span&gt;&lt;span class="inter-text"&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.swap" data-verso-hover="3"&gt;swap&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.7814" data-verso-hover="14"&gt;p&lt;/span&gt;&lt;span class="inter-text"&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.swap" data-verso-hover="3"&gt;swap&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-Neg.neg" data-verso-hover="30"&gt;-&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.7817" data-verso-hover="14"&gt;v&lt;/span&gt;&lt;span class="inter-text"&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.swap" data-verso-hover="3"&gt;swap&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.12877" data-verso-hover="14"&gt;a&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.7814" data-verso-hover="14"&gt;p&lt;/span&gt;&lt;span class="inter-text"&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.swap" data-verso-hover="3"&gt;swap&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    -- For some reason, ring doesn't work
    &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-11037925347187013213-4960-4993"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.rwSeq-4960" data-verso-hover="32"&gt;rw&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="const token" data-binding="const-add_comm" data-verso-hover="33"&gt;add_comm&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-add_comm" data-verso-hover="33"&gt;add_comm&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;-&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.7817" data-verso-hover="14"&gt;v&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.swap" data-verso-hover="3"&gt;swap&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-11037925347187013213-4960-4993"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.3640" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="sort token" data-binding="" data-verso-hover="20"&gt;Type u_1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.3649" data-verso-hover="21"&gt;inst✝&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Ring" data-verso-hover="11"&gt;Ring&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.3640" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.3651" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.7814" data-verso-hover="14"&gt;p&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.3640" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.3640" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.7817" data-verso-hover="14"&gt;v&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.3640" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.3640" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.12877" data-verso-hover="14"&gt;a&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.3640" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.3640" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.3651" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.3651" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.12877" data-verso-hover="14"&gt;a&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.7814" data-verso-hover="14"&gt;p&lt;/span&gt;&lt;span class="inter-text"&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.swap" data-verso-hover="3"&gt;swap&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.7817" data-verso-hover="14"&gt;v&lt;/span&gt;&lt;span class="inter-text"&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.swap" data-verso-hover="3"&gt;swap&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.12877" data-verso-hover="14"&gt;a&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.7814" data-verso-hover="14"&gt;p&lt;/span&gt;&lt;span class="inter-text"&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.swap" data-verso-hover="3"&gt;swap&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-Neg.neg" data-verso-hover="30"&gt;-&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.7817" data-verso-hover="14"&gt;v&lt;/span&gt;&lt;span class="inter-text"&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.swap" data-verso-hover="3"&gt;swap&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7-4998-5053"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.rwSeq-4998" data-verso-hover="32"&gt;rw&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="const token" data-binding="const-sub_eq_add_neg" data-verso-hover="34"&gt;sub_eq_add_neg&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-sub_eq_add_neg" data-verso-hover="34"&gt;sub_eq_add_neg&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-add_assoc" data-verso-hover="35"&gt;add_assoc&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-neg_add" data-verso-hover="36"&gt;neg_add&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-4998-5053"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;}&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;&lt;/span&gt;&lt;/code&gt;&lt;p&gt;
              For each of these, we'll need quite a few lemmas for casting them which depend on bounds.&lt;/p&gt;
            &lt;code class="hl lean block" data-lean-context="notOpen"&gt;&lt;span class="keyword token" data-binding="kw-occ-group-5168"&gt;lemma&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-T3_cast_nat" data-verso-hover="37"&gt;T3_cast_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14571" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℕ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14575" data-verso-hover="5"&gt;mn&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;×&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℕ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14736" data-verso-hover="38"&gt;h1&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14575" data-verso-hover="5"&gt;mn&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;≤&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;2&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;^&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14571" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;-&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14947" data-verso-hover="39"&gt;h2&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14575" data-verso-hover="5"&gt;mn&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;2&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;≤&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;2&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;^&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14571" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;+&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;-&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="const token" data-binding="const-T3" data-verso-hover="12"&gt;T3&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14571" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14575" data-verso-hover="5"&gt;mn&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14566" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;×&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14566" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-T3_nat" data-verso-hover="7"&gt;T3_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14571" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14575" data-verso-hover="5"&gt;mn&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-5688249968216984154-5306-5308"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.byTactic-5306" data-verso-hover="19"&gt;by&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-5688249968216984154-5306-5308"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.14566" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="sort token" data-binding="" data-verso-hover="20"&gt;Type u_1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.14569" data-verso-hover="21"&gt;inst✝&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Ring" data-verso-hover="11"&gt;Ring&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14566" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.14571" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.14575" data-verso-hover="5"&gt;mn&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.14736" data-verso-hover="38"&gt;h1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.14575" data-verso-hover="5"&gt;mn&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14571" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.14947" data-verso-hover="39"&gt;h2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.14575" data-verso-hover="5"&gt;mn&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14571" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-T3" data-verso-hover="12"&gt;T3&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14571" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14575" data-verso-hover="5"&gt;mn&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-T3_nat" data-verso-hover="7"&gt;T3_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14571" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14575" data-verso-hover="5"&gt;mn&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-2741472996874718880-5311-5378"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.simp-5311" data-verso-hover="31"&gt;simp&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-null-5316"&gt;only&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="const token" data-binding="const-T3_nat" data-verso-hover="7"&gt;T3_nat&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-T3" data-verso-hover="12"&gt;T3&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.swap" data-verso-hover="3"&gt;Prod.swap&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk_sub_mk" data-verso-hover="41"&gt;Prod.mk_sub_mk&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-RtimesR.coe_prod" data-verso-hover="42"&gt;RtimesR.coe_prod&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-2741472996874718880-5311-5378"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.14566" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="sort token" data-binding="" data-verso-hover="20"&gt;Type u_1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.14569" data-verso-hover="21"&gt;inst✝&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Ring" data-verso-hover="11"&gt;Ring&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14566" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.14571" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.14575" data-verso-hover="5"&gt;mn&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.14736" data-verso-hover="38"&gt;h1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.14575" data-verso-hover="5"&gt;mn&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14571" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.14947" data-verso-hover="39"&gt;h2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.14575" data-verso-hover="5"&gt;mn&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14571" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-AffineMap.mk" data-verso-hover="43"&gt;{ &lt;/span&gt;&lt;span class="const token" data-binding="const-AffineMap.toFun" data-verso-hover="13"&gt;toFun&lt;/span&gt;&lt;span class="const token" data-binding="const-AffineMap.mk" data-verso-hover="43"&gt; := &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.35083" data-verso-hover="14"&gt;mn&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14571" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.35083" data-verso-hover="14"&gt;mn&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14571" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.35083" data-verso-hover="14"&gt;mn&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-AffineMap.mk" data-verso-hover="43"&gt;, &lt;/span&gt;&lt;span class="const token" data-binding="const-AffineMap.linear" data-verso-hover="16"&gt;linear&lt;/span&gt;&lt;span class="const token" data-binding="const-AffineMap.mk" data-verso-hover="43"&gt; := &lt;/span&gt;&lt;span class="const token" data-binding="const-Neg.neg" data-verso-hover="30"&gt;-&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T0" data-verso-hover="17"&gt;HilbertCurve.T0&lt;/span&gt;&lt;span class="const token" data-binding="const-AffineMap.mk" data-verso-hover="43"&gt;, &lt;/span&gt;&lt;span class="const token" data-binding="const-AffineMap.map_vadd'" data-verso-hover="44"&gt;map_vadd'&lt;/span&gt;&lt;span class="const token" data-binding="const-AffineMap.mk" data-verso-hover="43"&gt; := &lt;/span&gt;&lt;span class="inter-text"&gt;⋯&lt;/span&gt;&lt;span class="const token" data-binding="const-AffineMap.mk" data-verso-hover="43"&gt; }&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14575" data-verso-hover="5"&gt;mn&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14575" data-verso-hover="5"&gt;mn&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; =
  &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14571" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14575" data-verso-hover="5"&gt;mn&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14571" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14575" data-verso-hover="5"&gt;mn&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-14108772997368857745-5381-5418"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.rwSeq-5381" data-verso-hover="32"&gt;rw&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="const token" data-binding="const-Nat.cast_sub" data-verso-hover="45"&gt;Nat.cast_sub&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14736" data-verso-hover="38"&gt;h1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat.cast_sub" data-verso-hover="45"&gt;Nat.cast_sub&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14947" data-verso-hover="39"&gt;h2&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-14108772997368857745-5381-5418"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.14566" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="sort token" data-binding="" data-verso-hover="20"&gt;Type u_1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.14569" data-verso-hover="21"&gt;inst✝&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Ring" data-verso-hover="11"&gt;Ring&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14566" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.14571" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.14575" data-verso-hover="5"&gt;mn&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.14736" data-verso-hover="38"&gt;h1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.14575" data-verso-hover="5"&gt;mn&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14571" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.14947" data-verso-hover="39"&gt;h2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.14575" data-verso-hover="5"&gt;mn&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14571" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-AffineMap.mk" data-verso-hover="43"&gt;{ &lt;/span&gt;&lt;span class="const token" data-binding="const-AffineMap.toFun" data-verso-hover="13"&gt;toFun&lt;/span&gt;&lt;span class="const token" data-binding="const-AffineMap.mk" data-verso-hover="43"&gt; := &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.35083" data-verso-hover="14"&gt;mn&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14571" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.35083" data-verso-hover="14"&gt;mn&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14571" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.35083" data-verso-hover="14"&gt;mn&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-AffineMap.mk" data-verso-hover="43"&gt;, &lt;/span&gt;&lt;span class="const token" data-binding="const-AffineMap.linear" data-verso-hover="16"&gt;linear&lt;/span&gt;&lt;span class="const token" data-binding="const-AffineMap.mk" data-verso-hover="43"&gt; := &lt;/span&gt;&lt;span class="const token" data-binding="const-Neg.neg" data-verso-hover="30"&gt;-&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T0" data-verso-hover="17"&gt;HilbertCurve.T0&lt;/span&gt;&lt;span class="const token" data-binding="const-AffineMap.mk" data-verso-hover="43"&gt;, &lt;/span&gt;&lt;span class="const token" data-binding="const-AffineMap.map_vadd'" data-verso-hover="44"&gt;map_vadd'&lt;/span&gt;&lt;span class="const token" data-binding="const-AffineMap.mk" data-verso-hover="43"&gt; := &lt;/span&gt;&lt;span class="inter-text"&gt;⋯&lt;/span&gt;&lt;span class="const token" data-binding="const-AffineMap.mk" data-verso-hover="43"&gt; }&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14575" data-verso-hover="5"&gt;mn&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14575" data-verso-hover="5"&gt;mn&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; =
  &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14571" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14575" data-verso-hover="5"&gt;mn&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14571" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14575" data-verso-hover="5"&gt;mn&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7-5421-5425"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.simp-5421" data-verso-hover="31"&gt;simp&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-5421-5425"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;&lt;/span&gt;&lt;/code&gt;&lt;p&gt;
              We will need to deal with a lot of different lemmas and casework about quadrants, so we'll create code for the transformations themselves.&lt;/p&gt;
            &lt;code class="hl lean block" data-lean-context="notOpen"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.inductive-5587" data-verso-hover="46"&gt;inductive&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Quadrant" data-verso-hover="47"&gt;Quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-null-5606"&gt;where&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;|&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Quadrant.BOTTOM_LEFT" data-verso-hover="48"&gt;BOTTOM_LEFT&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;|&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Quadrant.TOP_LEFT" data-verso-hover="49"&gt;TOP_LEFT&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;|&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Quadrant.TOP_RIGHT" data-verso-hover="50"&gt;TOP_RIGHT&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;|&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Quadrant.BOTTOM_RIGHT" data-verso-hover="51"&gt;BOTTOM_RIGHT&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-null-5664"&gt;deriving&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-DecidableEq" data-verso-hover="52"&gt;DecidableEq&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;&lt;/span&gt;&lt;/code&gt;&lt;p&gt;
              We'll need functions to then understand how we divide our input &lt;code class="math inline"&gt;\mathbb{N}&lt;/code&gt; into quadrants as well as &lt;code class="math inline"&gt;\mathbb{N} \times \mathbb{N}&lt;/code&gt; (which will be &lt;code&gt;get_quadrant'&lt;/code&gt;). You might note that &lt;code class="math inline"&gt;i&lt;/code&gt; here will be the divisions of &lt;code class="math inline"&gt;H_{i+1}&lt;/code&gt;, and this is designed to work better with the pattern matching.&lt;/p&gt;
            &lt;code class="hl lean block" data-lean-context="notOpen"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.definition-6006"&gt;def&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-get_quadrant" data-verso-hover="53"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.35405" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.35407" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℕ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Quadrant" data-verso-hover="47"&gt;Quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-termIfThenElse-6051" data-verso-hover="54"&gt;if&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.35407" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;&amp;lt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-hilbert_length" data-verso-hover="0"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.35405" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-termIfThenElse-6051" data-verso-hover="54"&gt;then&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="const token" data-binding="const-Quadrant.BOTTOM_LEFT" data-verso-hover="48"&gt;Quadrant.BOTTOM_LEFT&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-termIfThenElse-6051" data-verso-hover="54"&gt;else&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-termIfThenElse-6112" data-verso-hover="54"&gt;if&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.35407" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;&amp;lt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;2&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;*&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-hilbert_length" data-verso-hover="0"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.35405" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-termIfThenElse-6112" data-verso-hover="54"&gt;then&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="const token" data-binding="const-Quadrant.TOP_LEFT" data-verso-hover="49"&gt;Quadrant.TOP_LEFT&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-termIfThenElse-6112" data-verso-hover="54"&gt;else&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-termIfThenElse-6174" data-verso-hover="54"&gt;if&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.35407" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;&amp;lt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;3&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;*&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-hilbert_length" data-verso-hover="0"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.35405" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-termIfThenElse-6174" data-verso-hover="54"&gt;then&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="const token" data-binding="const-Quadrant.TOP_RIGHT" data-verso-hover="50"&gt;Quadrant.TOP_RIGHT&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-termIfThenElse-6174" data-verso-hover="54"&gt;else&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="const token" data-binding="const-Quadrant.BOTTOM_RIGHT" data-verso-hover="51"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;&lt;/span&gt;&lt;/code&gt;&lt;p&gt;
              Each of these quadrants will also have a few "equal" lemmas like &lt;code&gt;bottom_left_eq : get_quadrant i n = Quadrant.BOTTOM_LEFT ↔ n &amp;lt; hilbert_length i&lt;/code&gt;. These statements seem required in my definition, which actually makes me think my definition is pretty bad.&lt;/p&gt;
            &lt;/section&gt;
          &lt;section&gt;
            &lt;h3&gt;
              &lt;span id="leaninteger"&gt;The Integer Version&lt;/span&gt;&lt;/h3&gt;
            &lt;p&gt;
              Finally, we can explain the definition of our first Hilbert curve:&lt;/p&gt;
            &lt;code class="hl lean block" data-lean-context="notOpen"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.definition-6656"&gt;def&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-hilbert_curve" data-verso-hover="55"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;×&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℕ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;|&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;=&amp;gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.fun-6712"&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;_&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;=&amp;gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;0&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;0&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;|&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat.succ" data-verso-hover="56"&gt;.succ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.35663" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;=&amp;gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.fun-6741"&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.35666" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;=&amp;gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.match-6750" data-verso-hover="57"&gt;match&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-get_quadrant" data-verso-hover="53"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.35663" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.35666" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.match-6750" data-verso-hover="57"&gt;with&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;|&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Quadrant.BOTTOM_LEFT" data-verso-hover="48"&gt;Quadrant.BOTTOM_LEFT&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;=&amp;gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.let-6810" data-verso-hover="58"&gt;let&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.35674" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-hilbert_curve" data-verso-hover="55"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.35663" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.35666" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="const token" data-binding="const-T0_nat" data-verso-hover="2"&gt;T0_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.35674" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;|&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Quadrant.TOP_LEFT" data-verso-hover="49"&gt;Quadrant.TOP_LEFT&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;=&amp;gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.let-6875" data-verso-hover="58"&gt;let&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.35725" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-hilbert_curve" data-verso-hover="55"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.35663" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.35666" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;-&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-hilbert_length" data-verso-hover="0"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.35663" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="const token" data-binding="const-T1_nat" data-verso-hover="4"&gt;T1_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.35663" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.35725" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;|&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Quadrant.TOP_RIGHT" data-verso-hover="50"&gt;Quadrant.TOP_RIGHT&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;=&amp;gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.let-6964" data-verso-hover="58"&gt;let&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.35830" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-hilbert_curve" data-verso-hover="55"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.35663" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.35666" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;-&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;2&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;*&lt;/span&gt;&lt;span class="const token" data-binding="const-hilbert_length" data-verso-hover="0"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.35663" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="const token" data-binding="const-T2_nat" data-verso-hover="6"&gt;T2_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.35663" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.35830" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;|&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Quadrant.BOTTOM_RIGHT" data-verso-hover="51"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;=&amp;gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.let-7062" data-verso-hover="58"&gt;let&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.35924" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-hilbert_curve" data-verso-hover="55"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.35663" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.35666" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;-&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;3&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;*&lt;/span&gt;&lt;span class="const token" data-binding="const-hilbert_length" data-verso-hover="0"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.35663" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="const token" data-binding="const-T3_nat" data-verso-hover="7"&gt;T3_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.35663" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.35924" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;&lt;/span&gt;&lt;/code&gt;&lt;p&gt;
              Although this version has all the abbreviations such as &lt;code&gt;Quadrant.BOTTOM_LEFT&lt;/code&gt; and &lt;code&gt;get_quadrant&lt;/code&gt;. Those can be included inline without much loss in clarity, but the Lean proofs become much more difficult once casework gets involved.&lt;/p&gt;
            &lt;p&gt;
              Unlike the normal presentation of the Hilbert curve, we have a definition for the &lt;code class="math inline"&gt;n = 0&lt;/code&gt; case, &lt;code class="math inline"&gt;H_0(i) = (0, 0)&lt;/code&gt;. For &lt;code class="math inline"&gt;i \ge 1&lt;/code&gt;, we can then divide everything up into quadrants, then apply each transformation, and recurse.&lt;/p&gt;
            &lt;p&gt;
              Before it is time to prove theorems, it is important to test definitions like this. My first few definitions had some sign and off-by-one errors which can be found with testing:&lt;/p&gt;
            &lt;code class="hl lean block" data-lean-context="notOpen"&gt;&lt;span class="doc-comment token" data-binding=""&gt;/--
info: [(0, 0), (0, 1), (1, 1), (1, 0)]
-/&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.guardMsgsCmd-7790" data-verso-hover="59"&gt;#guard_msgs&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.guardMsgsCmd-7790" data-verso-hover="59"&gt;in&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.eval-7851" data-verso-hover="60"&gt;#eval&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-List.map" data-verso-hover="61"&gt;List.map&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-hilbert_curve" data-verso-hover="55"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-List.range" data-verso-hover="62"&gt;List.range&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;2&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;^&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;2&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;&lt;/span&gt;&lt;/code&gt;&lt;p&gt;
              Using &lt;a href="https://github.com/leanprover-community/ProofWidgets4"&gt;ProofWidgets&lt;/a&gt;, we can also display these, which makes the nature of a bug extremely clear. By giving the examples folder of ProofWidgets to any modern LLM (I used Gemini), you can generate SVGs from Lean data. Then &lt;code&gt;#html&lt;/code&gt; sends the SVGs to the Lean InfoView on the right:&lt;/p&gt;
            &lt;pre&gt;-- HilbertCurve.Pictures (omitting the verbose SVG AI-generated code)
def hilbert_curve_svg (i : ℕ) (stroke : Svg.Size frame := .px 1) : Svg frame :=
  sorry
  -- https://github.com/josephmckinsey/LeanHilbertCurves/blob/325dc26792e216989d0a713696a698db04e9d7b6/HilbertCurve/Pictures.lean#L57

#html (hilbert_curve_svg 2).toHtml
&lt;/pre&gt;&lt;svg style="max-width: 50%; margin: 0 auto; display: block;" alt="A simple example of iteration 3 of the Hilbert Curve." xmlns="http://www.w3.org/2000/svg" version="1.1" width="400" height="400"&gt;&lt;line x1="66" y1="333" x2="66" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="300" x2="100" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="300" x2="100" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="333" x2="133" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="333" x2="166" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="333" x2="166" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="300" x2="133" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="300" x2="133" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="266" x2="166" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="266" x2="166" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="233" x2="133" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="233" x2="100" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="233" x2="100" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="266" x2="66" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="266" x2="66" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="233" x2="66" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="200" x2="100" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="200" x2="100" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="166" x2="66" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="166" x2="66" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="133" x2="66" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="100" x2="100" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="100" x2="100" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="133" x2="133" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="133" x2="133" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="100" x2="166" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="100" x2="166" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="133" x2="166" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="166" x2="133" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="166" x2="133" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="200" x2="166" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="200" x2="200" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="200" x2="233" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="200" x2="233" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="166" x2="200" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="166" x2="200" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="133" x2="200" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="100" x2="233" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="100" x2="233" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="133" x2="266" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="133" x2="266" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="100" x2="300" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="100" x2="300" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="133" x2="300" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="166" x2="266" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="166" x2="266" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="200" x2="300" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="200" x2="300" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="233" x2="300" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="266" x2="266" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="266" x2="266" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="233" x2="233" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="233" x2="200" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="233" x2="200" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="266" x2="233" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="266" x2="233" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="300" x2="200" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="300" x2="200" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="333" x2="233" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="333" x2="266" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="333" x2="266" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="300" x2="300" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="300" x2="300" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;p&gt;
              These pictures can be quite helpful, since they can let you verify hypotheses experimentally before committing to a precise, yet wrong statement. Ever since &lt;a href="https://twitter.com/thingskatedid/status/1386077306381242371"&gt;@thingskatedid&lt;/a&gt; inspired me, I've been enjoying the fruits of visualizations created with throwaway Javascript.&lt;/p&gt;
            &lt;p&gt;
              Since I know how annoying extra conditions can get, all of my functions use "normal" types like &lt;code&gt;ℕ&lt;/code&gt; instead of &lt;code&gt;Fin n&lt;/code&gt;. I didn't test this design decision, so maybe adding dependent information isn't &lt;em&gt;so&lt;/em&gt; bad. Beyond the typical input bounds, our definition naturally makes the curve constant.&lt;/p&gt;
            &lt;section&gt;
              &lt;h4&gt;
                &lt;span id="leanintproofs"&gt;Some formal proofs about integers&lt;/span&gt;&lt;/h4&gt;
              &lt;p&gt;
                To actually prove injectivity and surjectivity, I decided to implement the inverse, which made preliminary testing easy. Formally verifying it amounted to a lot of casework and induction. For the casework, we have to prove that each of the transformations actually preserve the quadrants. Each one is basic algebra (modulo annoying casting).&lt;/p&gt;
              &lt;code class="hl lean block" data-lean-context="openNames"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.open-9667" data-verso-hover="63"&gt;open&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;HilbertCurve&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="has-info info"&gt;&lt;span class="hover-container"&gt;&lt;span class="hover-info messages"&gt;&lt;code class="message info"&gt;HilbertCurve.get_quadrant'_T0 (i : ℕ) (mn : ℕ × ℕ) (h : mn ≤ (2 ^ i - 1, 2 ^ i - 1)) :
  get_quadrant' i (T0_nat mn) = Quadrant.BOTTOM_LEFT&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.check-9685"&gt;#check&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant'_T0" data-verso-hover="64"&gt;get_quadrant'_T0&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.example-9709"&gt;example&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.2" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℕ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6" data-verso-hover="5"&gt;mn&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;×&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℕ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.376" data-verso-hover="65"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6" data-verso-hover="5"&gt;mn&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;≤&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;2&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;^&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.2" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;-&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;2&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;^&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.2" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;-&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant'" data-verso-hover="66"&gt;get_quadrant'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.2" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T0_nat" data-verso-hover="67"&gt;T0_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6" data-verso-hover="5"&gt;mn&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_LEFT" data-verso-hover="68"&gt;Quadrant.BOTTOM_LEFT&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-13636407192867607227-9835-9837"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.byTactic-9835" data-verso-hover="19"&gt;by&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-13636407192867607227-9835-9837"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.2" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6" data-verso-hover="5"&gt;mn&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.376" data-verso-hover="65"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6" data-verso-hover="5"&gt;mn&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.2" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.2" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant'" data-verso-hover="66"&gt;get_quadrant'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.2" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T0_nat" data-verso-hover="67"&gt;T0_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6" data-verso-hover="5"&gt;mn&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_LEFT" data-verso-hover="68"&gt;Quadrant.BOTTOM_LEFT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-6187393812262558331-9840-9873"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.simp-9840" data-verso-hover="31"&gt;simp&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-null-9845"&gt;only&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant'" data-verso-hover="66"&gt;get_quadrant'&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T0_nat" data-verso-hover="67"&gt;T0_nat&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-6187393812262558331-9840-9873"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.2" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6" data-verso-hover="5"&gt;mn&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.376" data-verso-hover="65"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6" data-verso-hover="5"&gt;mn&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.2" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.2" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-ite" data-verso-hover="69"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-ite" data-verso-hover="69"&gt;if &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6" data-verso-hover="5"&gt;mn&lt;/span&gt;&lt;span class="inter-text"&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.swap" data-verso-hover="3"&gt;swap&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.2" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-ite" data-verso-hover="69"&gt; then&lt;/span&gt;&lt;span class="const token" data-binding="const-ite" data-verso-hover="69"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-ite" data-verso-hover="69"&gt;if &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6" data-verso-hover="5"&gt;mn&lt;/span&gt;&lt;span class="inter-text"&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.swap" data-verso-hover="3"&gt;swap&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.2" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-ite" data-verso-hover="69"&gt; then&lt;/span&gt;&lt;span class="const token" data-binding="const-ite" data-verso-hover="69"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_LEFT" data-verso-hover="68"&gt;Quadrant.BOTTOM_LEFT&lt;/span&gt;&lt;span class="const token" data-binding="const-ite" data-verso-hover="69"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-ite" data-verso-hover="69"&gt;else &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_LEFT" data-verso-hover="71"&gt;Quadrant.TOP_LEFT&lt;/span&gt;&lt;span class="const token" data-binding="const-ite" data-verso-hover="69"&gt;
  &lt;/span&gt;&lt;span class="const token" data-binding="const-ite" data-verso-hover="69"&gt;else &lt;/span&gt;&lt;span class="const token" data-binding="const-ite" data-verso-hover="69"&gt;if &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6" data-verso-hover="5"&gt;mn&lt;/span&gt;&lt;span class="inter-text"&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.swap" data-verso-hover="3"&gt;swap&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.2" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-ite" data-verso-hover="69"&gt; then&lt;/span&gt;&lt;span class="const token" data-binding="const-ite" data-verso-hover="69"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;span class="const token" data-binding="const-ite" data-verso-hover="69"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-ite" data-verso-hover="69"&gt;else &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_RIGHT" data-verso-hover="73"&gt;Quadrant.TOP_RIGHT&lt;/span&gt;&lt;span class="const token" data-binding="const-ite" data-verso-hover="69"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; =
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_LEFT" data-verso-hover="68"&gt;Quadrant.BOTTOM_LEFT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.tacticHave_-9876" data-verso-hover="74"&gt;have&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;2&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;^&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.2" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;-&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;&amp;lt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;2&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;^&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.2" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-13636407192867607227-9900-9902"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.byTactic-9900" data-verso-hover="19"&gt;by&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-13636407192867607227-9900-9902"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.2" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6" data-verso-hover="5"&gt;mn&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.376" data-verso-hover="65"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6" data-verso-hover="5"&gt;mn&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.2" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.2" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant'" data-verso-hover="66"&gt;get_quadrant'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.2" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T0_nat" data-verso-hover="67"&gt;T0_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6" data-verso-hover="5"&gt;mn&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_LEFT" data-verso-hover="68"&gt;Quadrant.BOTTOM_LEFT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7-9903-9907"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.simp-9903" data-verso-hover="31"&gt;simp&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-9903-9907"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-6856582375717772676-9910-9929"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.rwSeq-9910" data-verso-hover="32"&gt;rw&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="const token" data-binding="const-if_pos" data-verso-hover="75"&gt;if_pos&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-if_pos" data-verso-hover="75"&gt;if_pos&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-6856582375717772676-9910-9929"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-10" checked="checked"&gt;&lt;span for="--verso-unique-10" class="goal-name"&gt;hc&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.2" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6" data-verso-hover="5"&gt;mn&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.376" data-verso-hover="65"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6" data-verso-hover="5"&gt;mn&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.2" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.2" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.2710" data-verso-hover="76"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.2" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.2" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6" data-verso-hover="5"&gt;mn&lt;/span&gt;&lt;span class="inter-text"&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.swap" data-verso-hover="3"&gt;swap&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.2" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-11"&gt;&lt;span for="--verso-unique-11" class="goal-name"&gt;hc&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.2" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6" data-verso-hover="5"&gt;mn&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.376" data-verso-hover="65"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6" data-verso-hover="5"&gt;mn&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.2" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.2" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.2710" data-verso-hover="76"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.2" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.2" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6" data-verso-hover="5"&gt;mn&lt;/span&gt;&lt;span class="inter-text"&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.swap" data-verso-hover="3"&gt;swap&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.2" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-9276248269876110653-9932-9934"&gt;&lt;span class="unknown token" data-binding=""&gt;·&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-9276248269876110653-9932-9934"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-12" checked="checked"&gt;&lt;span for="--verso-unique-12" class="goal-name"&gt;hc&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.2" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6" data-verso-hover="5"&gt;mn&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.376" data-verso-hover="65"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6" data-verso-hover="5"&gt;mn&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.2" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.2" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.2710" data-verso-hover="76"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.2" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.2" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6" data-verso-hover="5"&gt;mn&lt;/span&gt;&lt;span class="inter-text"&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.swap" data-verso-hover="3"&gt;swap&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.2" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7-9935-9964"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.apply-9935" data-verso-hover="77"&gt;apply&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-lt_of_le_of_lt" data-verso-hover="78"&gt;lt_of_le_of_lt&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.376" data-verso-hover="65"&gt;h&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.2710" data-verso-hover="76"&gt;this&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-9935-9964"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7-9967-9996"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.apply-9967" data-verso-hover="77"&gt;apply&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-lt_of_le_of_lt" data-verso-hover="78"&gt;lt_of_le_of_lt&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.376" data-verso-hover="65"&gt;h&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;2&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.2710" data-verso-hover="76"&gt;this&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-9967-9996"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;&lt;/span&gt;&lt;/code&gt;&lt;p&gt;
                which then let us decompose the &lt;code&gt;hilbert_curve&lt;/code&gt;&lt;/p&gt;
              &lt;code class="hl lean block" data-lean-context="openNames"&gt;&lt;span class="has-info info"&gt;&lt;span class="hover-container"&gt;&lt;span class="hover-info messages"&gt;&lt;code class="message info"&gt;HilbertCurve.quadrant_preserved (i n : ℕ) : get_quadrant' i (hilbert_curve (i + 1) n) = get_quadrant i n&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.check-10069"&gt;#check&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.quadrant_preserved" data-verso-hover="79"&gt;quadrant_preserved&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="has-info warning"&gt;&lt;span class="hover-container"&gt;&lt;span class="hover-info messages"&gt;&lt;code class="message warning"&gt;declaration uses 'sorry'&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.example-10095"&gt;example&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6074" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6076" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℕ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant'" data-verso-hover="66"&gt;get_quadrant'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6074" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6074" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;+&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6076" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6074" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6076" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-11285268774813321772-10179-10181"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.byTactic-10179" data-verso-hover="19"&gt;by&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-11285268774813321772-10179-10181"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6074" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6076" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant'" data-verso-hover="66"&gt;get_quadrant'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6074" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6074" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6076" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6074" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6076" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7-10182-10187"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.tacticSorry-10182" data-verso-hover="82"&gt;sorry&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-10182-10187"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;&lt;/span&gt;&lt;/code&gt;&lt;p&gt;
                and finally we can finish with a bunch of induction. As a reminder, you can hover or click elements to get details!&lt;/p&gt;
              &lt;code class="hl lean block" data-lean-context="openNames"&gt;&lt;span class="has-info info"&gt;&lt;span class="hover-container"&gt;&lt;span class="hover-info messages"&gt;&lt;code class="message info"&gt;HilbertCurve.hilbert_curve_injective (i n : ℕ) (h : n &amp;lt; hilbert_length i) : hilbert_inverse i (hilbert_curve i n) = n&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.check-10328"&gt;#check&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve_injective" data-verso-hover="83"&gt;hilbert_curve_injective&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="doc-comment token" data-binding=""&gt;/--
A hilbert curve is injective on its length
-/&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.example-10409"&gt;example&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6170" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℕ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℕ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6181" data-verso-hover="84"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;&amp;lt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6170" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6170" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6170" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-3322654718634293176-10513-10515"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.byTactic-10513" data-verso-hover="19"&gt;by&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-3322654718634293176-10513-10515"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6170" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6181" data-verso-hover="84"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6170" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6170" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6170" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.induction-10518" data-verso-hover="87"&gt;induction&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6170" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-null-10530"&gt;generalizing&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.inductionAlts-10545" data-verso-hover="88"&gt;with&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;|&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;zero&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;=&amp;gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-2388134676654059414-10566-10592"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.simp-10566" data-verso-hover="31"&gt;simp&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.location-10588" data-verso-hover="89"&gt;at&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6181" data-verso-hover="90"&gt;h&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-2388134676654059414-10566-10592"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-15" checked="checked"&gt;&lt;span for="--verso-unique-15" class="goal-name"&gt;zero&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6207" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6722" data-verso-hover="91"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6207" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6207" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6207" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-16251802653273884821-10597-10603"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.rwSeq-10597" data-verso-hover="32"&gt;rw&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6722" data-verso-hover="91"&gt;h&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-16251802653273884821-10597-10603"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-16" checked="checked"&gt;&lt;span for="--verso-unique-16" class="goal-name"&gt;zero&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6207" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6722" data-verso-hover="91"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6207" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7-10608-10645"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.simp-10608" data-verso-hover="31"&gt;simp&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-10608-10645"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;|&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;succ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6768" data-verso-hover="92"&gt;ih&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;=&amp;gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-9908501421350056854-10667-10697"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.tacticHave_-10667" data-verso-hover="74"&gt;have&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.quadrant_preserved" data-verso-hover="79"&gt;quadrant_preserved&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-9908501421350056854-10667-10697"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-17" checked="checked"&gt;&lt;span for="--verso-unique-17" class="goal-name"&gt;succ&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6768" data-verso-hover="92"&gt;ih&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6181" data-verso-hover="93"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6780" data-verso-hover="94"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant'" data-verso-hover="66"&gt;get_quadrant'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-601280700557465053-10702-10738"&gt;&lt;span class="keyword token" data-binding="kw-occ-Mathlib.Tactic.setTactic-10702"&gt;set&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6784" data-verso-hover="95"&gt;q&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-null-10728"&gt;with&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6873" data-verso-hover="96"&gt;q_def&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-601280700557465053-10702-10738"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-18" checked="checked"&gt;&lt;span for="--verso-unique-18" class="goal-name"&gt;succ&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6768" data-verso-hover="92"&gt;ih&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6181" data-verso-hover="93"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6784" data-verso-hover="95"&gt;q&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant" data-verso-hover="97"&gt;Quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6824" data-verso-hover="98"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant'" data-verso-hover="66"&gt;get_quadrant'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6784" data-verso-hover="95"&gt;q&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6873" data-verso-hover="96"&gt;q_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6784" data-verso-hover="95"&gt;q&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-16988749473177889881-10743-10765"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.unfold-10743" data-verso-hover="99"&gt;unfold&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-16988749473177889881-10743-10765"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-19" checked="checked"&gt;&lt;span for="--verso-unique-19" class="goal-name"&gt;succ&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6768" data-verso-hover="92"&gt;ih&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6181" data-verso-hover="93"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6784" data-verso-hover="95"&gt;q&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant" data-verso-hover="97"&gt;Quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6824" data-verso-hover="98"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant'" data-verso-hover="66"&gt;get_quadrant'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6784" data-verso-hover="95"&gt;q&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6873" data-verso-hover="96"&gt;q_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6784" data-verso-hover="95"&gt;q&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;match&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant'" data-verso-hover="66"&gt;get_quadrant'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;with&lt;/span&gt;&lt;span class="inter-text"&gt;
  | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_LEFT" data-verso-hover="68"&gt;Quadrant.BOTTOM_LEFT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T0_nat" data-verso-hover="67"&gt;T0_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
  | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_LEFT" data-verso-hover="71"&gt;Quadrant.TOP_LEFT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T1_inv_nat" data-verso-hover="100"&gt;T1_inv_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
  | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_inv_nat" data-verso-hover="102"&gt;T3_inv_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
  | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_RIGHT" data-verso-hover="73"&gt;Quadrant.TOP_RIGHT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T2_inv_nat" data-verso-hover="103"&gt;T2_inv_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; =
  &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-14710576452099095378-10770-10779"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.rwSeq-10770" data-verso-hover="32"&gt;rw&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6824" data-verso-hover="98"&gt;this&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-14710576452099095378-10770-10779"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-20" checked="checked"&gt;&lt;span for="--verso-unique-20" class="goal-name"&gt;succ&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6768" data-verso-hover="92"&gt;ih&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6181" data-verso-hover="93"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6784" data-verso-hover="95"&gt;q&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant" data-verso-hover="97"&gt;Quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6824" data-verso-hover="98"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant'" data-verso-hover="66"&gt;get_quadrant'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6784" data-verso-hover="95"&gt;q&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6873" data-verso-hover="96"&gt;q_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6784" data-verso-hover="95"&gt;q&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;match&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6784" data-verso-hover="95"&gt;q&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;with&lt;/span&gt;&lt;span class="inter-text"&gt;
  | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_LEFT" data-verso-hover="68"&gt;Quadrant.BOTTOM_LEFT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T0_nat" data-verso-hover="67"&gt;T0_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
  | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_LEFT" data-verso-hover="71"&gt;Quadrant.TOP_LEFT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T1_inv_nat" data-verso-hover="100"&gt;T1_inv_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
  | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_inv_nat" data-verso-hover="102"&gt;T3_inv_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
  | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_RIGHT" data-verso-hover="73"&gt;Quadrant.TOP_RIGHT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T2_inv_nat" data-verso-hover="103"&gt;T2_inv_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; =
  &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-2950415640329370921-10784-10792"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.rcases-10784" data-verso-hover="104"&gt;rcases&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6784" data-verso-hover="95"&gt;q&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-2950415640329370921-10784-10792"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-21" checked="checked"&gt;&lt;span for="--verso-unique-21" class="goal-name"&gt;succ.BOTTOM_LEFT&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6768" data-verso-hover="92"&gt;ih&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6181" data-verso-hover="93"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6967" data-verso-hover="105"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant'" data-verso-hover="66"&gt;get_quadrant'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_LEFT" data-verso-hover="68"&gt;Quadrant.BOTTOM_LEFT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6968" data-verso-hover="106"&gt;q_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_LEFT" data-verso-hover="68"&gt;Quadrant.BOTTOM_LEFT&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;match&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_LEFT" data-verso-hover="68"&gt;Quadrant.BOTTOM_LEFT&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;with&lt;/span&gt;&lt;span class="inter-text"&gt;
  | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_LEFT" data-verso-hover="68"&gt;Quadrant.BOTTOM_LEFT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T0_nat" data-verso-hover="67"&gt;T0_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
  | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_LEFT" data-verso-hover="71"&gt;Quadrant.TOP_LEFT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T1_inv_nat" data-verso-hover="100"&gt;T1_inv_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
  | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_inv_nat" data-verso-hover="102"&gt;T3_inv_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
  | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_RIGHT" data-verso-hover="73"&gt;Quadrant.TOP_RIGHT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T2_inv_nat" data-verso-hover="103"&gt;T2_inv_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; =
  &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-22"&gt;&lt;span for="--verso-unique-22" class="goal-name"&gt;succ.TOP_LEFT&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6768" data-verso-hover="92"&gt;ih&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6181" data-verso-hover="93"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6973" data-verso-hover="107"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant'" data-verso-hover="66"&gt;get_quadrant'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_LEFT" data-verso-hover="71"&gt;Quadrant.TOP_LEFT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6974" data-verso-hover="108"&gt;q_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_LEFT" data-verso-hover="71"&gt;Quadrant.TOP_LEFT&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;match&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_LEFT" data-verso-hover="71"&gt;Quadrant.TOP_LEFT&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;with&lt;/span&gt;&lt;span class="inter-text"&gt;
  | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_LEFT" data-verso-hover="68"&gt;Quadrant.BOTTOM_LEFT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T0_nat" data-verso-hover="67"&gt;T0_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
  | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_LEFT" data-verso-hover="71"&gt;Quadrant.TOP_LEFT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T1_inv_nat" data-verso-hover="100"&gt;T1_inv_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
  | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_inv_nat" data-verso-hover="102"&gt;T3_inv_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
  | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_RIGHT" data-verso-hover="73"&gt;Quadrant.TOP_RIGHT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T2_inv_nat" data-verso-hover="103"&gt;T2_inv_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; =
  &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-23"&gt;&lt;span for="--verso-unique-23" class="goal-name"&gt;succ.TOP_RIGHT&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6768" data-verso-hover="92"&gt;ih&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6181" data-verso-hover="93"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6979" data-verso-hover="109"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant'" data-verso-hover="66"&gt;get_quadrant'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_RIGHT" data-verso-hover="73"&gt;Quadrant.TOP_RIGHT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6980" data-verso-hover="110"&gt;q_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_RIGHT" data-verso-hover="73"&gt;Quadrant.TOP_RIGHT&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;match&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_RIGHT" data-verso-hover="73"&gt;Quadrant.TOP_RIGHT&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;with&lt;/span&gt;&lt;span class="inter-text"&gt;
  | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_LEFT" data-verso-hover="68"&gt;Quadrant.BOTTOM_LEFT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T0_nat" data-verso-hover="67"&gt;T0_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
  | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_LEFT" data-verso-hover="71"&gt;Quadrant.TOP_LEFT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T1_inv_nat" data-verso-hover="100"&gt;T1_inv_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
  | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_inv_nat" data-verso-hover="102"&gt;T3_inv_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
  | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_RIGHT" data-verso-hover="73"&gt;Quadrant.TOP_RIGHT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T2_inv_nat" data-verso-hover="103"&gt;T2_inv_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; =
  &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-24"&gt;&lt;span for="--verso-unique-24" class="goal-name"&gt;succ.BOTTOM_RIGHT&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6768" data-verso-hover="92"&gt;ih&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6181" data-verso-hover="93"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6985" data-verso-hover="111"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant'" data-verso-hover="66"&gt;get_quadrant'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6986" data-verso-hover="112"&gt;q_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;match&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;with&lt;/span&gt;&lt;span class="inter-text"&gt;
  | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_LEFT" data-verso-hover="68"&gt;Quadrant.BOTTOM_LEFT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T0_nat" data-verso-hover="67"&gt;T0_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
  | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_LEFT" data-verso-hover="71"&gt;Quadrant.TOP_LEFT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T1_inv_nat" data-verso-hover="100"&gt;T1_inv_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
  | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_inv_nat" data-verso-hover="102"&gt;T3_inv_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
  | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_RIGHT" data-verso-hover="73"&gt;Quadrant.TOP_RIGHT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T2_inv_nat" data-verso-hover="103"&gt;T2_inv_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; =
  &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-2950415640329370921-10793-10796"&gt;&lt;span class="unknown token" data-binding=""&gt;&amp;lt;;&amp;gt;&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-2950415640329370921-10793-10796"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-25" checked="checked"&gt;&lt;span for="--verso-unique-25" class="goal-name"&gt;succ.BOTTOM_LEFT&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6768" data-verso-hover="92"&gt;ih&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6181" data-verso-hover="93"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6967" data-verso-hover="105"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant'" data-verso-hover="66"&gt;get_quadrant'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_LEFT" data-verso-hover="68"&gt;Quadrant.BOTTOM_LEFT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6968" data-verso-hover="106"&gt;q_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_LEFT" data-verso-hover="68"&gt;Quadrant.BOTTOM_LEFT&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;match&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_LEFT" data-verso-hover="68"&gt;Quadrant.BOTTOM_LEFT&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;with&lt;/span&gt;&lt;span class="inter-text"&gt;
  | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_LEFT" data-verso-hover="68"&gt;Quadrant.BOTTOM_LEFT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T0_nat" data-verso-hover="67"&gt;T0_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
  | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_LEFT" data-verso-hover="71"&gt;Quadrant.TOP_LEFT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T1_inv_nat" data-verso-hover="100"&gt;T1_inv_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
  | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_inv_nat" data-verso-hover="102"&gt;T3_inv_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
  | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_RIGHT" data-verso-hover="73"&gt;Quadrant.TOP_RIGHT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T2_inv_nat" data-verso-hover="103"&gt;T2_inv_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; =
  &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-26"&gt;&lt;span for="--verso-unique-26" class="goal-name"&gt;succ.TOP_LEFT&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6768" data-verso-hover="92"&gt;ih&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6181" data-verso-hover="93"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6973" data-verso-hover="107"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant'" data-verso-hover="66"&gt;get_quadrant'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_LEFT" data-verso-hover="71"&gt;Quadrant.TOP_LEFT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6974" data-verso-hover="108"&gt;q_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_LEFT" data-verso-hover="71"&gt;Quadrant.TOP_LEFT&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;match&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_LEFT" data-verso-hover="71"&gt;Quadrant.TOP_LEFT&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;with&lt;/span&gt;&lt;span class="inter-text"&gt;
  | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_LEFT" data-verso-hover="68"&gt;Quadrant.BOTTOM_LEFT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T0_nat" data-verso-hover="67"&gt;T0_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
  | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_LEFT" data-verso-hover="71"&gt;Quadrant.TOP_LEFT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T1_inv_nat" data-verso-hover="100"&gt;T1_inv_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
  | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_inv_nat" data-verso-hover="102"&gt;T3_inv_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
  | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_RIGHT" data-verso-hover="73"&gt;Quadrant.TOP_RIGHT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T2_inv_nat" data-verso-hover="103"&gt;T2_inv_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; =
  &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-27"&gt;&lt;span for="--verso-unique-27" class="goal-name"&gt;succ.TOP_RIGHT&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6768" data-verso-hover="92"&gt;ih&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6181" data-verso-hover="93"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6979" data-verso-hover="109"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant'" data-verso-hover="66"&gt;get_quadrant'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_RIGHT" data-verso-hover="73"&gt;Quadrant.TOP_RIGHT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6980" data-verso-hover="110"&gt;q_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_RIGHT" data-verso-hover="73"&gt;Quadrant.TOP_RIGHT&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;match&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_RIGHT" data-verso-hover="73"&gt;Quadrant.TOP_RIGHT&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;with&lt;/span&gt;&lt;span class="inter-text"&gt;
  | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_LEFT" data-verso-hover="68"&gt;Quadrant.BOTTOM_LEFT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T0_nat" data-verso-hover="67"&gt;T0_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
  | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_LEFT" data-verso-hover="71"&gt;Quadrant.TOP_LEFT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T1_inv_nat" data-verso-hover="100"&gt;T1_inv_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
  | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_inv_nat" data-verso-hover="102"&gt;T3_inv_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
  | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_RIGHT" data-verso-hover="73"&gt;Quadrant.TOP_RIGHT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T2_inv_nat" data-verso-hover="103"&gt;T2_inv_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; =
  &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-28"&gt;&lt;span for="--verso-unique-28" class="goal-name"&gt;succ.BOTTOM_RIGHT&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6768" data-verso-hover="92"&gt;ih&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6181" data-verso-hover="93"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6985" data-verso-hover="111"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant'" data-verso-hover="66"&gt;get_quadrant'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6986" data-verso-hover="112"&gt;q_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;match&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;with&lt;/span&gt;&lt;span class="inter-text"&gt;
  | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_LEFT" data-verso-hover="68"&gt;Quadrant.BOTTOM_LEFT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T0_nat" data-verso-hover="67"&gt;T0_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
  | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_LEFT" data-verso-hover="71"&gt;Quadrant.TOP_LEFT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T1_inv_nat" data-verso-hover="100"&gt;T1_inv_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
  | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_inv_nat" data-verso-hover="102"&gt;T3_inv_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
  | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_RIGHT" data-verso-hover="73"&gt;Quadrant.TOP_RIGHT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T2_inv_nat" data-verso-hover="103"&gt;T2_inv_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; =
  &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-4513346385501919914-10797-10802"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.dsimp-10797" data-verso-hover="113"&gt;dsimp&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-4513346385501919914-10797-10802"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-29" checked="checked"&gt;&lt;span for="--verso-unique-29" class="goal-name"&gt;succ.BOTTOM_RIGHT&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6768" data-verso-hover="92"&gt;ih&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6181" data-verso-hover="93"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6985" data-verso-hover="111"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant'" data-verso-hover="66"&gt;get_quadrant'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6986" data-verso-hover="112"&gt;q_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_inv_nat" data-verso-hover="102"&gt;T3_inv_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-5033452295153858238-10803-10806"&gt;&lt;span class="unknown token" data-binding=""&gt;&amp;lt;;&amp;gt;&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-5033452295153858238-10803-10806"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-30" checked="checked"&gt;&lt;span for="--verso-unique-30" class="goal-name"&gt;succ.BOTTOM_LEFT&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6768" data-verso-hover="92"&gt;ih&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6181" data-verso-hover="93"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6967" data-verso-hover="105"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant'" data-verso-hover="66"&gt;get_quadrant'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_LEFT" data-verso-hover="68"&gt;Quadrant.BOTTOM_LEFT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6968" data-verso-hover="106"&gt;q_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_LEFT" data-verso-hover="68"&gt;Quadrant.BOTTOM_LEFT&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T0_nat" data-verso-hover="67"&gt;T0_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-31"&gt;&lt;span for="--verso-unique-31" class="goal-name"&gt;succ.TOP_LEFT&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6768" data-verso-hover="92"&gt;ih&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6181" data-verso-hover="93"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6973" data-verso-hover="107"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant'" data-verso-hover="66"&gt;get_quadrant'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_LEFT" data-verso-hover="71"&gt;Quadrant.TOP_LEFT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6974" data-verso-hover="108"&gt;q_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_LEFT" data-verso-hover="71"&gt;Quadrant.TOP_LEFT&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T1_inv_nat" data-verso-hover="100"&gt;T1_inv_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-32"&gt;&lt;span for="--verso-unique-32" class="goal-name"&gt;succ.TOP_RIGHT&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6768" data-verso-hover="92"&gt;ih&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6181" data-verso-hover="93"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6979" data-verso-hover="109"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant'" data-verso-hover="66"&gt;get_quadrant'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_RIGHT" data-verso-hover="73"&gt;Quadrant.TOP_RIGHT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6980" data-verso-hover="110"&gt;q_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_RIGHT" data-verso-hover="73"&gt;Quadrant.TOP_RIGHT&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T2_inv_nat" data-verso-hover="103"&gt;T2_inv_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-33"&gt;&lt;span for="--verso-unique-33" class="goal-name"&gt;succ.BOTTOM_RIGHT&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6768" data-verso-hover="92"&gt;ih&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6181" data-verso-hover="93"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6985" data-verso-hover="111"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant'" data-verso-hover="66"&gt;get_quadrant'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6986" data-verso-hover="112"&gt;q_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_inv_nat" data-verso-hover="102"&gt;T3_inv_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-9367928004512498193-10807-10827"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.unfold-10807" data-verso-hover="99"&gt;unfold&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-9367928004512498193-10807-10827"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-34" checked="checked"&gt;&lt;span for="--verso-unique-34" class="goal-name"&gt;succ.BOTTOM_RIGHT&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6768" data-verso-hover="92"&gt;ih&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6181" data-verso-hover="93"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6985" data-verso-hover="111"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant'" data-verso-hover="66"&gt;get_quadrant'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6986" data-verso-hover="112"&gt;q_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; +
    &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_inv_nat" data-verso-hover="102"&gt;T3_inv_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;
        &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;match&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;with&lt;/span&gt;&lt;span class="inter-text"&gt;
        | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_LEFT" data-verso-hover="68"&gt;Quadrant.BOTTOM_LEFT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt;
          &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;let&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14090" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;;
          &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T0_nat" data-verso-hover="67"&gt;T0_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14090" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt;
        | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_LEFT" data-verso-hover="71"&gt;Quadrant.TOP_LEFT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt;
          &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;let&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14096" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;;
          &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T1_nat" data-verso-hover="114"&gt;T1_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14096" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt;
        | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_RIGHT" data-verso-hover="73"&gt;Quadrant.TOP_RIGHT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt;
          &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;let&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14103" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;;
          &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T2_nat" data-verso-hover="115"&gt;T2_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14103" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt;
        | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt;
          &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;let&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14110" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;;
          &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_nat" data-verso-hover="116"&gt;T3_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14110" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; =
  &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-6416483865265919736-10828-10831"&gt;&lt;span class="unknown token" data-binding=""&gt;&amp;lt;;&amp;gt;&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-6416483865265919736-10828-10831"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-35" checked="checked"&gt;&lt;span for="--verso-unique-35" class="goal-name"&gt;succ.BOTTOM_LEFT&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6768" data-verso-hover="92"&gt;ih&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6181" data-verso-hover="93"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6967" data-verso-hover="105"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant'" data-verso-hover="66"&gt;get_quadrant'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_LEFT" data-verso-hover="68"&gt;Quadrant.BOTTOM_LEFT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6968" data-verso-hover="106"&gt;q_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_LEFT" data-verso-hover="68"&gt;Quadrant.BOTTOM_LEFT&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T0_nat" data-verso-hover="67"&gt;T0_nat&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;match&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;with&lt;/span&gt;&lt;span class="inter-text"&gt;
      | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_LEFT" data-verso-hover="68"&gt;Quadrant.BOTTOM_LEFT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt;
        &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;let&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14088" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;;
        &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T0_nat" data-verso-hover="67"&gt;T0_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14088" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt;
      | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_LEFT" data-verso-hover="71"&gt;Quadrant.TOP_LEFT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt;
        &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;let&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14094" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;;
        &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T1_nat" data-verso-hover="114"&gt;T1_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14094" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt;
      | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_RIGHT" data-verso-hover="73"&gt;Quadrant.TOP_RIGHT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt;
        &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;let&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14101" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;;
        &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T2_nat" data-verso-hover="115"&gt;T2_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14101" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt;
      | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt;
        &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;let&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14108" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;;
        &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_nat" data-verso-hover="116"&gt;T3_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14108" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; =
  &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-36"&gt;&lt;span for="--verso-unique-36" class="goal-name"&gt;succ.TOP_LEFT&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6768" data-verso-hover="92"&gt;ih&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6181" data-verso-hover="93"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6973" data-verso-hover="107"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant'" data-verso-hover="66"&gt;get_quadrant'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_LEFT" data-verso-hover="71"&gt;Quadrant.TOP_LEFT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6974" data-verso-hover="108"&gt;q_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_LEFT" data-verso-hover="71"&gt;Quadrant.TOP_LEFT&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; +
    &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T1_inv_nat" data-verso-hover="100"&gt;T1_inv_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;
        &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;match&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;with&lt;/span&gt;&lt;span class="inter-text"&gt;
        | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_LEFT" data-verso-hover="68"&gt;Quadrant.BOTTOM_LEFT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt;
          &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;let&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14090" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;;
          &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T0_nat" data-verso-hover="67"&gt;T0_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14090" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt;
        | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_LEFT" data-verso-hover="71"&gt;Quadrant.TOP_LEFT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt;
          &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;let&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14096" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;;
          &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T1_nat" data-verso-hover="114"&gt;T1_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14096" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt;
        | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_RIGHT" data-verso-hover="73"&gt;Quadrant.TOP_RIGHT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt;
          &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;let&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14103" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;;
          &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T2_nat" data-verso-hover="115"&gt;T2_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14103" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt;
        | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt;
          &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;let&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14110" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;;
          &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_nat" data-verso-hover="116"&gt;T3_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14110" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; =
  &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-37"&gt;&lt;span for="--verso-unique-37" class="goal-name"&gt;succ.TOP_RIGHT&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6768" data-verso-hover="92"&gt;ih&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6181" data-verso-hover="93"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6979" data-verso-hover="109"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant'" data-verso-hover="66"&gt;get_quadrant'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_RIGHT" data-verso-hover="73"&gt;Quadrant.TOP_RIGHT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6980" data-verso-hover="110"&gt;q_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_RIGHT" data-verso-hover="73"&gt;Quadrant.TOP_RIGHT&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; +
    &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T2_inv_nat" data-verso-hover="103"&gt;T2_inv_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;
        &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;match&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;with&lt;/span&gt;&lt;span class="inter-text"&gt;
        | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_LEFT" data-verso-hover="68"&gt;Quadrant.BOTTOM_LEFT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt;
          &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;let&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14090" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;;
          &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T0_nat" data-verso-hover="67"&gt;T0_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14090" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt;
        | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_LEFT" data-verso-hover="71"&gt;Quadrant.TOP_LEFT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt;
          &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;let&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14096" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;;
          &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T1_nat" data-verso-hover="114"&gt;T1_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14096" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt;
        | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_RIGHT" data-verso-hover="73"&gt;Quadrant.TOP_RIGHT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt;
          &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;let&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14103" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;;
          &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T2_nat" data-verso-hover="115"&gt;T2_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14103" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt;
        | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt;
          &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;let&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14110" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;;
          &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_nat" data-verso-hover="116"&gt;T3_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14110" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; =
  &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-38"&gt;&lt;span for="--verso-unique-38" class="goal-name"&gt;succ.BOTTOM_RIGHT&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6768" data-verso-hover="92"&gt;ih&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6181" data-verso-hover="93"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6985" data-verso-hover="111"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant'" data-verso-hover="66"&gt;get_quadrant'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6986" data-verso-hover="112"&gt;q_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; +
    &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_inv_nat" data-verso-hover="102"&gt;T3_inv_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;
        &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;match&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;with&lt;/span&gt;&lt;span class="inter-text"&gt;
        | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_LEFT" data-verso-hover="68"&gt;Quadrant.BOTTOM_LEFT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt;
          &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;let&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14090" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;;
          &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T0_nat" data-verso-hover="67"&gt;T0_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14090" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt;
        | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_LEFT" data-verso-hover="71"&gt;Quadrant.TOP_LEFT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt;
          &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;let&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14096" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;;
          &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T1_nat" data-verso-hover="114"&gt;T1_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14096" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt;
        | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_RIGHT" data-verso-hover="73"&gt;Quadrant.TOP_RIGHT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt;
          &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;let&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14103" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;;
          &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T2_nat" data-verso-hover="115"&gt;T2_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14103" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt;
        | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt;
          &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;let&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14110" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;;
          &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_nat" data-verso-hover="116"&gt;T3_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14110" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; =
  &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-15475740159566578517-10832-10844"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.rwSeq-10832" data-verso-hover="32"&gt;rw&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;&amp;lt;-&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6968" data-verso-hover="106"&gt;q_def&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-15475740159566578517-10832-10844"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-39" checked="checked"&gt;&lt;span for="--verso-unique-39" class="goal-name"&gt;succ.BOTTOM_RIGHT&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6768" data-verso-hover="92"&gt;ih&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6181" data-verso-hover="93"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6985" data-verso-hover="111"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant'" data-verso-hover="66"&gt;get_quadrant'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6986" data-verso-hover="112"&gt;q_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; +
    &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_inv_nat" data-verso-hover="102"&gt;T3_inv_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;
        &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;match&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;with&lt;/span&gt;&lt;span class="inter-text"&gt;
        | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_LEFT" data-verso-hover="68"&gt;Quadrant.BOTTOM_LEFT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt;
          &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;let&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14088" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;;
          &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T0_nat" data-verso-hover="67"&gt;T0_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14088" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt;
        | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_LEFT" data-verso-hover="71"&gt;Quadrant.TOP_LEFT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt;
          &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;let&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14094" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;;
          &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T1_nat" data-verso-hover="114"&gt;T1_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14094" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt;
        | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_RIGHT" data-verso-hover="73"&gt;Quadrant.TOP_RIGHT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt;
          &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;let&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14101" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;;
          &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T2_nat" data-verso-hover="115"&gt;T2_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14101" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt;
        | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt;
          &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;let&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14108" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;;
          &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_nat" data-verso-hover="116"&gt;T3_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14108" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; =
  &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-12735327715089631795-10849-10851"&gt;&lt;span class="unknown token" data-binding=""&gt;·&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-12735327715089631795-10849-10851"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-40" checked="checked"&gt;&lt;span for="--verso-unique-40" class="goal-name"&gt;succ.BOTTOM_LEFT&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6768" data-verso-hover="92"&gt;ih&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6181" data-verso-hover="93"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6967" data-verso-hover="105"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant'" data-verso-hover="66"&gt;get_quadrant'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_LEFT" data-verso-hover="68"&gt;Quadrant.BOTTOM_LEFT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6968" data-verso-hover="106"&gt;q_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_LEFT" data-verso-hover="68"&gt;Quadrant.BOTTOM_LEFT&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T0_nat" data-verso-hover="67"&gt;T0_nat&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;match&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_LEFT" data-verso-hover="68"&gt;Quadrant.BOTTOM_LEFT&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;with&lt;/span&gt;&lt;span class="inter-text"&gt;
      | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_LEFT" data-verso-hover="68"&gt;Quadrant.BOTTOM_LEFT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt;
        &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;let&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14086" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;;
        &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T0_nat" data-verso-hover="67"&gt;T0_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14086" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt;
      | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_LEFT" data-verso-hover="71"&gt;Quadrant.TOP_LEFT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt;
        &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;let&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14092" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;;
        &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T1_nat" data-verso-hover="114"&gt;T1_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14092" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt;
      | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_RIGHT" data-verso-hover="73"&gt;Quadrant.TOP_RIGHT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt;
        &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;let&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14099" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;;
        &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T2_nat" data-verso-hover="115"&gt;T2_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14099" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt;
      | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt;
        &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;let&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14106" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;;
        &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_nat" data-verso-hover="116"&gt;T3_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14106" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; =
  &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-11896641136596509118-10852-10873"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.simp-10852" data-verso-hover="31"&gt;simp&lt;/span&gt;&lt;span class="inter-text"&gt;  &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T0_involutive" data-verso-hover="117"&gt;T0_involutive&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-11896641136596509118-10852-10873"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-41" checked="checked"&gt;&lt;span for="--verso-unique-41" class="goal-name"&gt;succ.BOTTOM_LEFT&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6768" data-verso-hover="92"&gt;ih&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6181" data-verso-hover="93"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6967" data-verso-hover="105"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant'" data-verso-hover="66"&gt;get_quadrant'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_LEFT" data-verso-hover="68"&gt;Quadrant.BOTTOM_LEFT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6968" data-verso-hover="106"&gt;q_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_LEFT" data-verso-hover="68"&gt;Quadrant.BOTTOM_LEFT&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T0_nat" data-verso-hover="67"&gt;T0_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T0_nat" data-verso-hover="67"&gt;T0_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-14148895822739010885-10880-10888"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.apply-10880" data-verso-hover="77"&gt;apply&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6768" data-verso-hover="92"&gt;ih&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-14148895822739010885-10880-10888"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-42" checked="checked"&gt;&lt;span for="--verso-unique-42" class="goal-name"&gt;succ.BOTTOM_LEFT.h&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6768" data-verso-hover="92"&gt;ih&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6181" data-verso-hover="93"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6967" data-verso-hover="105"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant'" data-verso-hover="66"&gt;get_quadrant'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_LEFT" data-verso-hover="68"&gt;Quadrant.BOTTOM_LEFT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6968" data-verso-hover="106"&gt;q_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_LEFT" data-verso-hover="68"&gt;Quadrant.BOTTOM_LEFT&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7-10895-10940"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.exact-10895" data-verso-hover="118"&gt;exact&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.bottom_left_eq" data-verso-hover="119"&gt;bottom_left_eq&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Iff.mp" data-verso-hover="120"&gt;mp&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq.symm" data-verso-hover="121"&gt;Eq.symm&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6968" data-verso-hover="106"&gt;q_def&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-10895-10940"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-12113619649179288899-10945-10947"&gt;&lt;span class="unknown token" data-binding=""&gt;·&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-12113619649179288899-10945-10947"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-43" checked="checked"&gt;&lt;span for="--verso-unique-43" class="goal-name"&gt;succ.TOP_LEFT&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6768" data-verso-hover="92"&gt;ih&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6181" data-verso-hover="93"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6973" data-verso-hover="107"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant'" data-verso-hover="66"&gt;get_quadrant'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_LEFT" data-verso-hover="71"&gt;Quadrant.TOP_LEFT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6974" data-verso-hover="108"&gt;q_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_LEFT" data-verso-hover="71"&gt;Quadrant.TOP_LEFT&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; +
    &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T1_inv_nat" data-verso-hover="100"&gt;T1_inv_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;
        &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;match&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_LEFT" data-verso-hover="71"&gt;Quadrant.TOP_LEFT&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;with&lt;/span&gt;&lt;span class="inter-text"&gt;
        | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_LEFT" data-verso-hover="68"&gt;Quadrant.BOTTOM_LEFT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt;
          &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;let&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14088" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;;
          &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T0_nat" data-verso-hover="67"&gt;T0_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14088" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt;
        | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_LEFT" data-verso-hover="71"&gt;Quadrant.TOP_LEFT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt;
          &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;let&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14094" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;;
          &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T1_nat" data-verso-hover="114"&gt;T1_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14094" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt;
        | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_RIGHT" data-verso-hover="73"&gt;Quadrant.TOP_RIGHT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt;
          &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;let&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14101" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;;
          &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T2_nat" data-verso-hover="115"&gt;T2_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14101" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt;
        | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt;
          &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;let&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14108" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;;
          &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_nat" data-verso-hover="116"&gt;T3_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14108" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; =
  &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-5308160938845528133-10948-10957"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.simp-10948" data-verso-hover="31"&gt;simp&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-null-10953"&gt;only&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-5308160938845528133-10948-10957"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-44" checked="checked"&gt;&lt;span for="--verso-unique-44" class="goal-name"&gt;succ.TOP_LEFT&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6768" data-verso-hover="92"&gt;ih&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6181" data-verso-hover="93"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6973" data-verso-hover="107"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant'" data-verso-hover="66"&gt;get_quadrant'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_LEFT" data-verso-hover="71"&gt;Quadrant.TOP_LEFT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6974" data-verso-hover="108"&gt;q_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_LEFT" data-verso-hover="71"&gt;Quadrant.TOP_LEFT&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T1_inv_nat" data-verso-hover="100"&gt;T1_inv_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T1_nat" data-verso-hover="114"&gt;T1_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-4372144605283151549-10964-10985"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.rwSeq-10964" data-verso-hover="32"&gt;rw&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T1_inv_of_T1_nat" data-verso-hover="122"&gt;T1_inv_of_T1_nat&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-4372144605283151549-10964-10985"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-45" checked="checked"&gt;&lt;span for="--verso-unique-45" class="goal-name"&gt;succ.TOP_LEFT&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6768" data-verso-hover="92"&gt;ih&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6181" data-verso-hover="93"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6973" data-verso-hover="107"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant'" data-verso-hover="66"&gt;get_quadrant'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_LEFT" data-verso-hover="71"&gt;Quadrant.TOP_LEFT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6974" data-verso-hover="108"&gt;q_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_LEFT" data-verso-hover="71"&gt;Quadrant.TOP_LEFT&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-15378065069448399659-10992-11036"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.tacticHave_-10992" data-verso-hover="74"&gt;have&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.top_left_eq" data-verso-hover="123"&gt;top_left_eq&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Iff.mp" data-verso-hover="120"&gt;mp&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq.symm" data-verso-hover="121"&gt;Eq.symm&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6974" data-verso-hover="108"&gt;q_def&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-15378065069448399659-10992-11036"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-46" checked="checked"&gt;&lt;span for="--verso-unique-46" class="goal-name"&gt;succ.TOP_LEFT&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6768" data-verso-hover="92"&gt;ih&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6181" data-verso-hover="93"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6973" data-verso-hover="107"&gt;this✝&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant'" data-verso-hover="66"&gt;get_quadrant'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_LEFT" data-verso-hover="71"&gt;Quadrant.TOP_LEFT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6974" data-verso-hover="108"&gt;q_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_LEFT" data-verso-hover="71"&gt;Quadrant.TOP_LEFT&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.7716" data-verso-hover="124"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-And" data-verso-hover="125"&gt; ∧ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-657384223256342586-11043-11073"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.rwSeq-11043" data-verso-hover="32"&gt;rw&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6768" data-verso-hover="92"&gt;ih&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;-&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-657384223256342586-11043-11073"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-47" checked="checked"&gt;&lt;span for="--verso-unique-47" class="goal-name"&gt;succ.TOP_LEFT&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6768" data-verso-hover="92"&gt;ih&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6181" data-verso-hover="93"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6973" data-verso-hover="107"&gt;this✝&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant'" data-verso-hover="66"&gt;get_quadrant'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_LEFT" data-verso-hover="71"&gt;Quadrant.TOP_LEFT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6974" data-verso-hover="108"&gt;q_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_LEFT" data-verso-hover="71"&gt;Quadrant.TOP_LEFT&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.7716" data-verso-hover="124"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-And" data-verso-hover="125"&gt; ∧ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-48"&gt;&lt;span for="--verso-unique-48" class="goal-name"&gt;succ.TOP_LEFT&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6768" data-verso-hover="92"&gt;ih&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6181" data-verso-hover="93"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6973" data-verso-hover="107"&gt;this✝&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant'" data-verso-hover="66"&gt;get_quadrant'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_LEFT" data-verso-hover="71"&gt;Quadrant.TOP_LEFT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6974" data-verso-hover="108"&gt;q_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_LEFT" data-verso-hover="71"&gt;Quadrant.TOP_LEFT&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.7716" data-verso-hover="124"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-And" data-verso-hover="125"&gt; ∧ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-15695910671333369846-11080-11082"&gt;&lt;span class="unknown token" data-binding=""&gt;·&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-15695910671333369846-11080-11082"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-49" checked="checked"&gt;&lt;span for="--verso-unique-49" class="goal-name"&gt;succ.TOP_LEFT&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6768" data-verso-hover="92"&gt;ih&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6181" data-verso-hover="93"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6973" data-verso-hover="107"&gt;this✝&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant'" data-verso-hover="66"&gt;get_quadrant'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_LEFT" data-verso-hover="71"&gt;Quadrant.TOP_LEFT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6974" data-verso-hover="108"&gt;q_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_LEFT" data-verso-hover="71"&gt;Quadrant.TOP_LEFT&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.7716" data-verso-hover="124"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-And" data-verso-hover="125"&gt; ∧ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7-11083-11088"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.omega-11083" data-verso-hover="126"&gt;omega&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-11083-11088"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7-11095-11100"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.omega-11095" data-verso-hover="126"&gt;omega&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-11095-11100"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-16382214872965964034-11105-11107"&gt;&lt;span class="unknown token" data-binding=""&gt;·&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-16382214872965964034-11105-11107"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-50" checked="checked"&gt;&lt;span for="--verso-unique-50" class="goal-name"&gt;succ.TOP_RIGHT&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6768" data-verso-hover="92"&gt;ih&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6181" data-verso-hover="93"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6979" data-verso-hover="109"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant'" data-verso-hover="66"&gt;get_quadrant'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_RIGHT" data-verso-hover="73"&gt;Quadrant.TOP_RIGHT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6980" data-verso-hover="110"&gt;q_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_RIGHT" data-verso-hover="73"&gt;Quadrant.TOP_RIGHT&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; +
    &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T2_inv_nat" data-verso-hover="103"&gt;T2_inv_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;
        &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;match&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_RIGHT" data-verso-hover="73"&gt;Quadrant.TOP_RIGHT&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;with&lt;/span&gt;&lt;span class="inter-text"&gt;
        | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_LEFT" data-verso-hover="68"&gt;Quadrant.BOTTOM_LEFT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt;
          &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;let&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14088" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;;
          &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T0_nat" data-verso-hover="67"&gt;T0_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14088" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt;
        | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_LEFT" data-verso-hover="71"&gt;Quadrant.TOP_LEFT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt;
          &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;let&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14094" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;;
          &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T1_nat" data-verso-hover="114"&gt;T1_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14094" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt;
        | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_RIGHT" data-verso-hover="73"&gt;Quadrant.TOP_RIGHT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt;
          &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;let&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14101" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;;
          &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T2_nat" data-verso-hover="115"&gt;T2_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14101" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt;
        | &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt;
          &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;let&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14108" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;;
          &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_nat" data-verso-hover="116"&gt;T3_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14108" data-verso-hover="5"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; =
  &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-9961732163797155125-11108-11117"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.simp-11108" data-verso-hover="31"&gt;simp&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-null-11113"&gt;only&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-9961732163797155125-11108-11117"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-51" checked="checked"&gt;&lt;span for="--verso-unique-51" class="goal-name"&gt;succ.TOP_RIGHT&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6768" data-verso-hover="92"&gt;ih&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6181" data-verso-hover="93"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6979" data-verso-hover="109"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant'" data-verso-hover="66"&gt;get_quadrant'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_RIGHT" data-verso-hover="73"&gt;Quadrant.TOP_RIGHT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6980" data-verso-hover="110"&gt;q_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_RIGHT" data-verso-hover="73"&gt;Quadrant.TOP_RIGHT&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T2_inv_nat" data-verso-hover="103"&gt;T2_inv_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T2_nat" data-verso-hover="115"&gt;T2_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-8135303039098064430-11124-11145"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.rwSeq-11124" data-verso-hover="32"&gt;rw&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T2_inv_of_T2_nat" data-verso-hover="127"&gt;T2_inv_of_T2_nat&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-8135303039098064430-11124-11145"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-52" checked="checked"&gt;&lt;span for="--verso-unique-52" class="goal-name"&gt;succ.TOP_RIGHT&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6768" data-verso-hover="92"&gt;ih&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6181" data-verso-hover="93"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6979" data-verso-hover="109"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant'" data-verso-hover="66"&gt;get_quadrant'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_RIGHT" data-verso-hover="73"&gt;Quadrant.TOP_RIGHT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6980" data-verso-hover="110"&gt;q_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_RIGHT" data-verso-hover="73"&gt;Quadrant.TOP_RIGHT&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-16617425791712208117-11152-11197"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.tacticHave_-11152" data-verso-hover="74"&gt;have&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.top_right_eq" data-verso-hover="128"&gt;top_right_eq&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Iff.mp" data-verso-hover="120"&gt;mp&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq.symm" data-verso-hover="121"&gt;Eq.symm&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6980" data-verso-hover="110"&gt;q_def&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-16617425791712208117-11152-11197"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-53" checked="checked"&gt;&lt;span for="--verso-unique-53" class="goal-name"&gt;succ.TOP_RIGHT&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6768" data-verso-hover="92"&gt;ih&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6181" data-verso-hover="93"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6979" data-verso-hover="109"&gt;this✝&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant'" data-verso-hover="66"&gt;get_quadrant'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_RIGHT" data-verso-hover="73"&gt;Quadrant.TOP_RIGHT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6980" data-verso-hover="110"&gt;q_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_RIGHT" data-verso-hover="73"&gt;Quadrant.TOP_RIGHT&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.8994" data-verso-hover="129"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-And" data-verso-hover="125"&gt; ∧ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-4606150994467347411-11204-11236"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.rwSeq-11204" data-verso-hover="32"&gt;rw&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6768" data-verso-hover="92"&gt;ih&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;-&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;2&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;*&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-4606150994467347411-11204-11236"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-54" checked="checked"&gt;&lt;span for="--verso-unique-54" class="goal-name"&gt;succ.TOP_RIGHT&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6768" data-verso-hover="92"&gt;ih&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6181" data-verso-hover="93"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6979" data-verso-hover="109"&gt;this✝&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant'" data-verso-hover="66"&gt;get_quadrant'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_RIGHT" data-verso-hover="73"&gt;Quadrant.TOP_RIGHT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6980" data-verso-hover="110"&gt;q_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_RIGHT" data-verso-hover="73"&gt;Quadrant.TOP_RIGHT&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.8994" data-verso-hover="129"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-And" data-verso-hover="125"&gt; ∧ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-55"&gt;&lt;span for="--verso-unique-55" class="goal-name"&gt;succ.TOP_RIGHT&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6768" data-verso-hover="92"&gt;ih&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6181" data-verso-hover="93"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6979" data-verso-hover="109"&gt;this✝&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant'" data-verso-hover="66"&gt;get_quadrant'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_RIGHT" data-verso-hover="73"&gt;Quadrant.TOP_RIGHT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6980" data-verso-hover="110"&gt;q_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_RIGHT" data-verso-hover="73"&gt;Quadrant.TOP_RIGHT&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.8994" data-verso-hover="129"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-And" data-verso-hover="125"&gt; ∧ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-3179306851341597657-11243-11245"&gt;&lt;span class="unknown token" data-binding=""&gt;·&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-3179306851341597657-11243-11245"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-56" checked="checked"&gt;&lt;span for="--verso-unique-56" class="goal-name"&gt;succ.TOP_RIGHT&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6768" data-verso-hover="92"&gt;ih&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6181" data-verso-hover="93"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6979" data-verso-hover="109"&gt;this✝&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant'" data-verso-hover="66"&gt;get_quadrant'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_RIGHT" data-verso-hover="73"&gt;Quadrant.TOP_RIGHT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6980" data-verso-hover="110"&gt;q_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.TOP_RIGHT" data-verso-hover="73"&gt;Quadrant.TOP_RIGHT&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.8994" data-verso-hover="129"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-And" data-verso-hover="125"&gt; ∧ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7-11246-11251"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.omega-11246" data-verso-hover="126"&gt;omega&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-11246-11251"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7-11258-11263"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.omega-11258" data-verso-hover="126"&gt;omega&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-11258-11263"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-2997332976642902500-11268-11277"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.simp-11268" data-verso-hover="31"&gt;simp&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-null-11273"&gt;only&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-2997332976642902500-11268-11277"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-57" checked="checked"&gt;&lt;span for="--verso-unique-57" class="goal-name"&gt;succ.BOTTOM_RIGHT&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6768" data-verso-hover="92"&gt;ih&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6181" data-verso-hover="93"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6985" data-verso-hover="111"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant'" data-verso-hover="66"&gt;get_quadrant'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6986" data-verso-hover="112"&gt;q_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_inv_nat" data-verso-hover="102"&gt;T3_inv_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_nat" data-verso-hover="116"&gt;T3_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-5928620978475025781-11282-11342"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.tacticHave_-11282" data-verso-hover="74"&gt;have&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.11217" data-verso-hover="130"&gt;size&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve_size" data-verso-hover="131"&gt;hilbert_curve_size&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;-&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;3&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;*&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-5928620978475025781-11282-11342"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-58" checked="checked"&gt;&lt;span for="--verso-unique-58" class="goal-name"&gt;succ.BOTTOM_RIGHT&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6768" data-verso-hover="92"&gt;ih&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6181" data-verso-hover="93"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6985" data-verso-hover="111"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant'" data-verso-hover="66"&gt;get_quadrant'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6986" data-verso-hover="112"&gt;q_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.11217" data-verso-hover="130"&gt;size&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_inv_nat" data-verso-hover="102"&gt;T3_inv_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_nat" data-verso-hover="116"&gt;T3_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-440182341468261844-11347-11368"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.rwSeq-11347" data-verso-hover="32"&gt;rw&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_inv_of_T3_nat" data-verso-hover="132"&gt;T3_inv_of_T3_nat&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-440182341468261844-11347-11368"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-59" checked="checked"&gt;&lt;span for="--verso-unique-59" class="goal-name"&gt;succ.BOTTOM_RIGHT&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6768" data-verso-hover="92"&gt;ih&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6181" data-verso-hover="93"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6985" data-verso-hover="111"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant'" data-verso-hover="66"&gt;get_quadrant'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6986" data-verso-hover="112"&gt;q_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.11217" data-verso-hover="130"&gt;size&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-60"&gt;&lt;span for="--verso-unique-60" class="goal-name"&gt;succ.BOTTOM_RIGHT.h1&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6768" data-verso-hover="92"&gt;ih&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6181" data-verso-hover="93"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6985" data-verso-hover="111"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant'" data-verso-hover="66"&gt;get_quadrant'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6986" data-verso-hover="112"&gt;q_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.11217" data-verso-hover="130"&gt;size&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-61"&gt;&lt;span for="--verso-unique-61" class="goal-name"&gt;succ.BOTTOM_RIGHT.h2&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6768" data-verso-hover="92"&gt;ih&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6181" data-verso-hover="93"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6985" data-verso-hover="111"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant'" data-verso-hover="66"&gt;get_quadrant'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6986" data-verso-hover="112"&gt;q_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.11217" data-verso-hover="130"&gt;size&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7387697623670009090-11373-11375"&gt;&lt;span class="unknown token" data-binding=""&gt;·&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7387697623670009090-11373-11375"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-62" checked="checked"&gt;&lt;span for="--verso-unique-62" class="goal-name"&gt;succ.BOTTOM_RIGHT&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6768" data-verso-hover="92"&gt;ih&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6181" data-verso-hover="93"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6985" data-verso-hover="111"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant'" data-verso-hover="66"&gt;get_quadrant'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6986" data-verso-hover="112"&gt;q_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.11217" data-verso-hover="130"&gt;size&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-13087971199756548981-11376-11385"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.rwSeq-11376" data-verso-hover="32"&gt;rw&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6768" data-verso-hover="92"&gt;ih&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;_&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-13087971199756548981-11376-11385"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-63" checked="checked"&gt;&lt;span for="--verso-unique-63" class="goal-name"&gt;succ.BOTTOM_RIGHT&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6768" data-verso-hover="92"&gt;ih&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6181" data-verso-hover="93"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6985" data-verso-hover="111"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant'" data-verso-hover="66"&gt;get_quadrant'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6986" data-verso-hover="112"&gt;q_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.11217" data-verso-hover="130"&gt;size&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-64"&gt;&lt;span for="--verso-unique-64" class="goal-name"&gt;succ.BOTTOM_RIGHT&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6768" data-verso-hover="92"&gt;ih&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6181" data-verso-hover="93"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6985" data-verso-hover="111"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant'" data-verso-hover="66"&gt;get_quadrant'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6986" data-verso-hover="112"&gt;q_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.11217" data-verso-hover="130"&gt;size&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-15611890066365649118-11392-11394"&gt;&lt;span class="unknown token" data-binding=""&gt;·&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-15611890066365649118-11392-11394"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-65" checked="checked"&gt;&lt;span for="--verso-unique-65" class="goal-name"&gt;succ.BOTTOM_RIGHT&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6768" data-verso-hover="92"&gt;ih&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6181" data-verso-hover="93"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6985" data-verso-hover="111"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant'" data-verso-hover="66"&gt;get_quadrant'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6986" data-verso-hover="112"&gt;q_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.11217" data-verso-hover="130"&gt;size&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7109891868904736694-11395-11443"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.tacticHave_-11395" data-verso-hover="74"&gt;have&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.bottom_right_eq" data-verso-hover="133"&gt;bottom_right_eq&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Iff.mp" data-verso-hover="120"&gt;mp&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq.symm" data-verso-hover="121"&gt;Eq.symm&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6986" data-verso-hover="112"&gt;q_def&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7109891868904736694-11395-11443"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-66" checked="checked"&gt;&lt;span for="--verso-unique-66" class="goal-name"&gt;succ.BOTTOM_RIGHT&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6768" data-verso-hover="92"&gt;ih&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6181" data-verso-hover="93"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6985" data-verso-hover="111"&gt;this✝&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant'" data-verso-hover="66"&gt;get_quadrant'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6986" data-verso-hover="112"&gt;q_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.11217" data-verso-hover="130"&gt;size&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.11266" data-verso-hover="134"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
        &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7-11452-11457"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.omega-11452" data-verso-hover="126"&gt;omega&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-11452-11457"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7805493886361498085-11464-11493"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.rwSeq-11464" data-verso-hover="32"&gt;rw&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length_succ" data-verso-hover="135"&gt;hilbert_length_succ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.location-11489" data-verso-hover="89"&gt;at&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6181" data-verso-hover="93"&gt;h&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7805493886361498085-11464-11493"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-67" checked="checked"&gt;&lt;span for="--verso-unique-67" class="goal-name"&gt;succ.BOTTOM_RIGHT&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6768" data-verso-hover="92"&gt;ih&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.12240" data-verso-hover="136"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.12243" data-verso-hover="111"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant'" data-verso-hover="66"&gt;get_quadrant'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.12244" data-verso-hover="112"&gt;q_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.12245" data-verso-hover="130"&gt;size&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7-11500-11505"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.omega-11500" data-verso-hover="126"&gt;omega&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-11500-11505"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7481861365618825045-11510-11512"&gt;&lt;span class="unknown token" data-binding=""&gt;·&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7481861365618825045-11510-11512"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-68" checked="checked"&gt;&lt;span for="--verso-unique-68" class="goal-name"&gt;succ.BOTTOM_RIGHT.h1&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6768" data-verso-hover="92"&gt;ih&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6181" data-verso-hover="93"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6985" data-verso-hover="111"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant'" data-verso-hover="66"&gt;get_quadrant'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6986" data-verso-hover="112"&gt;q_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.11217" data-verso-hover="130"&gt;size&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7-11513-11525"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.exact-11513" data-verso-hover="118"&gt;exact&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.11217" data-verso-hover="130"&gt;size&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;1&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-11513-11525"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-15906209152631937150-11530-11551"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.apply-11530" data-verso-hover="77"&gt;apply&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-le_trans" data-verso-hover="137"&gt;le_trans&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.11217" data-verso-hover="130"&gt;size&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;2&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-15906209152631937150-11530-11551"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-69" checked="checked"&gt;&lt;span for="--verso-unique-69" class="goal-name"&gt;succ.BOTTOM_RIGHT.h2&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6768" data-verso-hover="92"&gt;ih&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_inverse" data-verso-hover="86"&gt;hilbert_inverse&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6181" data-verso-hover="93"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6985" data-verso-hover="111"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant'" data-verso-hover="66"&gt;get_quadrant'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.6986" data-verso-hover="112"&gt;q_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.11217" data-verso-hover="130"&gt;size&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6172" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.6767" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7-11556-11561"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.omega-11556" data-verso-hover="126"&gt;omega&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-11556-11561"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;&lt;/span&gt;&lt;/code&gt;&lt;p&gt;
                As you can see, it seems that a lot of the "obvious" proofs I skipped in the informal post run into hundreds of lines of code once you spell it all out. After thinking about it, I think that turning a picture into mathematics involves encoding a lot of geometry we humans have very well internalized, sort of like how it took many decades to program the difference between a cat and a bird reliably.&lt;/p&gt;
              &lt;p&gt;
                The surjectivity proofs ended up committing a similar level of "collateral damage". To prove the Hilbert curve only moves by 1 each step, a similar level of boilerplate shows that the quadrants "connect" with each transformation. I had to define a little l1 norm &lt;code&gt;dist'&lt;/code&gt; for pairs of integers, which feels like it &lt;em&gt;should&lt;/em&gt; exist somewhere. If you know of where to look, please reach out.&lt;/p&gt;
              &lt;p&gt;
                I am at a bit of a loss of how to make this simple. It all feels extremely basic, but there was so many definitions involved here.&lt;/p&gt;
              &lt;/section&gt;
            &lt;section&gt;
              &lt;h4&gt;
                &lt;span id="leancauchy"&gt;Cauchy Condition&lt;/span&gt;&lt;/h4&gt;
              &lt;svg style="max-width: 60%; margin: 0 auto; display: block;" alt="A comparison of the 2nd to 3rd iteration of the hilbert curve.
    Many points line up, and points that don't are not too far away." xmlns="http://www.w3.org/2000/svg" version="1.1" width="400" height="400"&gt;&lt;line x1="66" y1="333" x2="133" y2="333" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="333" x2="133" y2="266" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="266" x2="66" y2="266" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="266" x2="66" y2="200" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="200" x2="66" y2="133" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="133" x2="133" y2="133" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="133" x2="133" y2="200" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="200" x2="200" y2="200" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="200" x2="200" y2="133" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="133" x2="266" y2="133" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="133" x2="266" y2="200" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="200" x2="266" y2="266" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="266" x2="200" y2="266" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="266" x2="200" y2="333" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="333" x2="266" y2="333" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;circle cx="66" cy="333" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point0"&gt;&lt;/circle&gt;&lt;circle cx="133" cy="333" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point1"&gt;&lt;/circle&gt;&lt;circle cx="133" cy="266" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point2"&gt;&lt;/circle&gt;&lt;circle cx="66" cy="266" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point3"&gt;&lt;/circle&gt;&lt;circle cx="66" cy="200" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point4"&gt;&lt;/circle&gt;&lt;circle cx="66" cy="133" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point5"&gt;&lt;/circle&gt;&lt;circle cx="133" cy="133" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point6"&gt;&lt;/circle&gt;&lt;circle cx="133" cy="200" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point7"&gt;&lt;/circle&gt;&lt;circle cx="200" cy="200" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point8"&gt;&lt;/circle&gt;&lt;circle cx="200" cy="133" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point9"&gt;&lt;/circle&gt;&lt;circle cx="266" cy="133" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point10"&gt;&lt;/circle&gt;&lt;circle cx="266" cy="200" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point11"&gt;&lt;/circle&gt;&lt;circle cx="266" cy="266" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point12"&gt;&lt;/circle&gt;&lt;circle cx="200" cy="266" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point13"&gt;&lt;/circle&gt;&lt;circle cx="200" cy="333" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point14"&gt;&lt;/circle&gt;&lt;circle cx="266" cy="333" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point15"&gt;&lt;/circle&gt;&lt;line x1="66" y1="333" x2="66" y2="300" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="300" x2="100" y2="300" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="300" x2="100" y2="333" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="333" x2="133" y2="333" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="333" x2="166" y2="333" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="333" x2="166" y2="300" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="300" x2="133" y2="300" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="300" x2="133" y2="266" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="266" x2="166" y2="266" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="266" x2="166" y2="233" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="233" x2="133" y2="233" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="233" x2="100" y2="233" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="233" x2="100" y2="266" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="266" x2="66" y2="266" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="266" x2="66" y2="233" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="233" x2="66" y2="200" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="200" x2="100" y2="200" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="200" x2="100" y2="166" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="166" x2="66" y2="166" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="166" x2="66" y2="133" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="133" x2="66" y2="100" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="100" x2="100" y2="100" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="100" x2="100" y2="133" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="133" x2="133" y2="133" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="133" x2="133" y2="100" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="100" x2="166" y2="100" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="100" x2="166" y2="133" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="133" x2="166" y2="166" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="166" x2="133" y2="166" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="166" x2="133" y2="200" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="200" x2="166" y2="200" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="200" x2="200" y2="200" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="200" x2="233" y2="200" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="200" x2="233" y2="166" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="166" x2="200" y2="166" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="166" x2="200" y2="133" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="133" x2="200" y2="100" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="100" x2="233" y2="100" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="100" x2="233" y2="133" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="133" x2="266" y2="133" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="133" x2="266" y2="100" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="100" x2="300" y2="100" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="100" x2="300" y2="133" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="133" x2="300" y2="166" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="166" x2="266" y2="166" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="166" x2="266" y2="200" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="200" x2="300" y2="200" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="200" x2="300" y2="233" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="233" x2="300" y2="266" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="266" x2="266" y2="266" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="266" x2="266" y2="233" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="233" x2="233" y2="233" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="233" x2="200" y2="233" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="233" x2="200" y2="266" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="266" x2="233" y2="266" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="266" x2="233" y2="300" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="300" x2="200" y2="300" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="300" x2="200" y2="333" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="333" x2="233" y2="333" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="333" x2="266" y2="333" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="333" x2="266" y2="300" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="300" x2="300" y2="300" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="300" x2="300" y2="333" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;circle cx="66" cy="333" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point0"&gt;&lt;/circle&gt;&lt;circle cx="66" cy="300" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point1"&gt;&lt;/circle&gt;&lt;circle cx="100" cy="300" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point2"&gt;&lt;/circle&gt;&lt;circle cx="100" cy="333" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point3"&gt;&lt;/circle&gt;&lt;circle cx="133" cy="333" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point4"&gt;&lt;/circle&gt;&lt;circle cx="166" cy="333" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point5"&gt;&lt;/circle&gt;&lt;circle cx="166" cy="300" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point6"&gt;&lt;/circle&gt;&lt;circle cx="133" cy="300" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point7"&gt;&lt;/circle&gt;&lt;circle cx="133" cy="266" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point8"&gt;&lt;/circle&gt;&lt;circle cx="166" cy="266" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point9"&gt;&lt;/circle&gt;&lt;circle cx="166" cy="233" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point10"&gt;&lt;/circle&gt;&lt;circle cx="133" cy="233" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point11"&gt;&lt;/circle&gt;&lt;circle cx="100" cy="233" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point12"&gt;&lt;/circle&gt;&lt;circle cx="100" cy="266" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point13"&gt;&lt;/circle&gt;&lt;circle cx="66" cy="266" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point14"&gt;&lt;/circle&gt;&lt;circle cx="66" cy="233" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point15"&gt;&lt;/circle&gt;&lt;circle cx="66" cy="200" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point16"&gt;&lt;/circle&gt;&lt;circle cx="100" cy="200" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point17"&gt;&lt;/circle&gt;&lt;circle cx="100" cy="166" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point18"&gt;&lt;/circle&gt;&lt;circle cx="66" cy="166" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point19"&gt;&lt;/circle&gt;&lt;circle cx="66" cy="133" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point20"&gt;&lt;/circle&gt;&lt;circle cx="66" cy="100" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point21"&gt;&lt;/circle&gt;&lt;circle cx="100" cy="100" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point22"&gt;&lt;/circle&gt;&lt;circle cx="100" cy="133" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point23"&gt;&lt;/circle&gt;&lt;circle cx="133" cy="133" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point24"&gt;&lt;/circle&gt;&lt;circle cx="133" cy="100" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point25"&gt;&lt;/circle&gt;&lt;circle cx="166" cy="100" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point26"&gt;&lt;/circle&gt;&lt;circle cx="166" cy="133" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point27"&gt;&lt;/circle&gt;&lt;circle cx="166" cy="166" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point28"&gt;&lt;/circle&gt;&lt;circle cx="133" cy="166" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point29"&gt;&lt;/circle&gt;&lt;circle cx="133" cy="200" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point30"&gt;&lt;/circle&gt;&lt;circle cx="166" cy="200" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point31"&gt;&lt;/circle&gt;&lt;circle cx="200" cy="200" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point32"&gt;&lt;/circle&gt;&lt;circle cx="233" cy="200" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point33"&gt;&lt;/circle&gt;&lt;circle cx="233" cy="166" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point34"&gt;&lt;/circle&gt;&lt;circle cx="200" cy="166" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point35"&gt;&lt;/circle&gt;&lt;circle cx="200" cy="133" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point36"&gt;&lt;/circle&gt;&lt;circle cx="200" cy="100" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point37"&gt;&lt;/circle&gt;&lt;circle cx="233" cy="100" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point38"&gt;&lt;/circle&gt;&lt;circle cx="233" cy="133" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point39"&gt;&lt;/circle&gt;&lt;circle cx="266" cy="133" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point40"&gt;&lt;/circle&gt;&lt;circle cx="266" cy="100" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point41"&gt;&lt;/circle&gt;&lt;circle cx="300" cy="100" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point42"&gt;&lt;/circle&gt;&lt;circle cx="300" cy="133" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point43"&gt;&lt;/circle&gt;&lt;circle cx="300" cy="166" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point44"&gt;&lt;/circle&gt;&lt;circle cx="266" cy="166" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point45"&gt;&lt;/circle&gt;&lt;circle cx="266" cy="200" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point46"&gt;&lt;/circle&gt;&lt;circle cx="300" cy="200" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point47"&gt;&lt;/circle&gt;&lt;circle cx="300" cy="233" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point48"&gt;&lt;/circle&gt;&lt;circle cx="300" cy="266" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point49"&gt;&lt;/circle&gt;&lt;circle cx="266" cy="266" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point50"&gt;&lt;/circle&gt;&lt;circle cx="266" cy="233" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point51"&gt;&lt;/circle&gt;&lt;circle cx="233" cy="233" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point52"&gt;&lt;/circle&gt;&lt;circle cx="200" cy="233" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point53"&gt;&lt;/circle&gt;&lt;circle cx="200" cy="266" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point54"&gt;&lt;/circle&gt;&lt;circle cx="233" cy="266" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point55"&gt;&lt;/circle&gt;&lt;circle cx="233" cy="300" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point56"&gt;&lt;/circle&gt;&lt;circle cx="200" cy="300" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point57"&gt;&lt;/circle&gt;&lt;circle cx="200" cy="333" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point58"&gt;&lt;/circle&gt;&lt;circle cx="233" cy="333" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point59"&gt;&lt;/circle&gt;&lt;circle cx="266" cy="333" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point60"&gt;&lt;/circle&gt;&lt;circle cx="266" cy="300" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point61"&gt;&lt;/circle&gt;&lt;circle cx="300" cy="300" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point62"&gt;&lt;/circle&gt;&lt;circle cx="300" cy="333" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point63"&gt;&lt;/circle&gt;&lt;/svg&gt;&lt;p&gt;
                After staring at several diagrams comparing the different curves, I came up with the following statement:&lt;/p&gt;
              &lt;code class="hl lean block" data-lean-context="notOpen"&gt;&lt;span class="keyword token" data-binding="kw-occ-group-12740"&gt;lemma&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="has-info warning"&gt;&lt;span class="hover-container"&gt;&lt;span class="hover-info messages"&gt;&lt;code class="message warning"&gt;declaration uses 'sorry'&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-subdivision_size" data-verso-hover="138"&gt;subdivision_size&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.40745" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.40747" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℕ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="5"&gt;2&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;*&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-hilbert_curve" data-verso-hover="55"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.40745" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.40747" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;/&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;4&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;≤&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-hilbert_curve" data-verso-hover="55"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.40745" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;+&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.40747" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;∧&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="const token" data-binding="const-hilbert_curve" data-verso-hover="55"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.40745" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;+&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.40747" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;≤&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="5"&gt;2&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;*&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-hilbert_curve" data-verso-hover="55"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.40745" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.40747" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;/&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;4&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="5"&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-10303989126774900968-12896-12898"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.byTactic-12896" data-verso-hover="19"&gt;by&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-10303989126774900968-12896-12898"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.40745" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.40747" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-hilbert_curve" data-verso-hover="55"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.40745" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.40747" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="const token" data-binding="const-hilbert_curve" data-verso-hover="55"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.40745" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.40747" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-And" data-verso-hover="125"&gt; ∧ &lt;/span&gt;&lt;span class="const token" data-binding="const-hilbert_curve" data-verso-hover="55"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.40745" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.40747" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-hilbert_curve" data-verso-hover="55"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.40745" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.40747" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7-12899-12904"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.tacticSorry-12899" data-verso-hover="82"&gt;sorry&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-12899-12904"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;&lt;/span&gt;&lt;/code&gt;&lt;p&gt;
                I won't bore you with the proof, except that in addition to induction, we also need some extra definitions and proofs for each transformation:&lt;/p&gt;
              &lt;code class="hl lean block" data-lean-context="notOpen"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.definition-13070"&gt;def&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-within_square" data-verso-hover="140"&gt;within_square&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.41397" data-verso-hover="5"&gt;a&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.41401" data-verso-hover="5"&gt;b&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;×&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℕ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="sort token" data-binding="" data-verso-hover="141"&gt;Prop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;2&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;•&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.41397" data-verso-hover="5"&gt;a&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;≤&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.41401" data-verso-hover="5"&gt;b&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;∧&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.41401" data-verso-hover="5"&gt;b&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;≤&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;2&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;•&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.41397" data-verso-hover="5"&gt;a&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;+&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="5"&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt;

&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-group-13150"&gt;lemma&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-T1_within_square" data-verso-hover="142"&gt;T1_within_square&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℕ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;×&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℕ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="const token" data-binding="const-within_square" data-verso-hover="140"&gt;within_square&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="const token" data-binding="const-within_square" data-verso-hover="140"&gt;within_square&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-T1_nat" data-verso-hover="4"&gt;T1_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-T1_nat" data-verso-hover="4"&gt;T1_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;+&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-4533212422158617076-13289-13291"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.byTactic-13289" data-verso-hover="19"&gt;by&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-4533212422158617076-13289-13291"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-within_square" data-verso-hover="140"&gt;within_square&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-within_square" data-verso-hover="140"&gt;within_square&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-T1_nat" data-verso-hover="4"&gt;T1_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-T1_nat" data-verso-hover="4"&gt;T1_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-4762403471689039434-13294-13322"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.simp-13294" data-verso-hover="31"&gt;simp&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="const token" data-binding="const-within_square" data-verso-hover="140"&gt;within_square&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-T1_nat" data-verso-hover="4"&gt;T1_nat&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-4762403471689039434-13294-13322"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="inter-text"&gt; →
  &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt; →
    &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-And" data-verso-hover="125"&gt; ∧ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-6427938906844251422-13325-13336"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.intro-13325" data-verso-hover="143"&gt;intro&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62402" data-verso-hover="144"&gt;h1&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62405" data-verso-hover="145"&gt;h2&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-6427938906844251422-13325-13336"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62402" data-verso-hover="144"&gt;h1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62405" data-verso-hover="145"&gt;h2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-And" data-verso-hover="125"&gt; ∧ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-5189703014108854451-13339-13373"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.tacticHave_-13339" data-verso-hover="74"&gt;have&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;2&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;*&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;≤&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62402" data-verso-hover="144"&gt;h1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;1&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-5189703014108854451-13339-13373"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62402" data-verso-hover="144"&gt;h1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62405" data-verso-hover="145"&gt;h2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62518" data-verso-hover="146"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-And" data-verso-hover="125"&gt; ∧ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-14449681445914141174-13376-13410"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.tacticHave_-13376" data-verso-hover="74"&gt;have&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;2&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;*&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;2&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;≤&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;2&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62402" data-verso-hover="144"&gt;h1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;2&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-14449681445914141174-13376-13410"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62402" data-verso-hover="144"&gt;h1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62405" data-verso-hover="145"&gt;h2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62518" data-verso-hover="146"&gt;this✝&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62593" data-verso-hover="147"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-And" data-verso-hover="125"&gt; ∧ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-13779015527090954151-13413-13449"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.tacticHave_-13413" data-verso-hover="74"&gt;have&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;≤&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;2&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;*&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62405" data-verso-hover="145"&gt;h2&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;1&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-13779015527090954151-13413-13449"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62402" data-verso-hover="144"&gt;h1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62405" data-verso-hover="145"&gt;h2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62518" data-verso-hover="146"&gt;this✝¹&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62593" data-verso-hover="147"&gt;this✝&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62742" data-verso-hover="148"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-And" data-verso-hover="125"&gt; ∧ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-4454134551921891441-13452-13488"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.tacticHave_-13452" data-verso-hover="74"&gt;have&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;2&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;≤&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;2&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;*&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;2&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62405" data-verso-hover="145"&gt;h2&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;2&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-4454134551921891441-13452-13488"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62402" data-verso-hover="144"&gt;h1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62405" data-verso-hover="145"&gt;h2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62518" data-verso-hover="146"&gt;this✝²&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62593" data-verso-hover="147"&gt;this✝¹&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62742" data-verso-hover="148"&gt;this✝&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62861" data-verso-hover="149"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-And" data-verso-hover="125"&gt; ∧ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-12480154293214011092-13491-13502"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.constructor-13491" data-verso-hover="150"&gt;constructor&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-12480154293214011092-13491-13502"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-78" checked="checked"&gt;&lt;span for="--verso-unique-78" class="goal-name"&gt;left&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62402" data-verso-hover="144"&gt;h1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62405" data-verso-hover="145"&gt;h2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62518" data-verso-hover="146"&gt;this✝²&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62593" data-verso-hover="147"&gt;this✝¹&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62742" data-verso-hover="148"&gt;this✝&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62861" data-verso-hover="149"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-79"&gt;&lt;span for="--verso-unique-79" class="goal-name"&gt;right&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62402" data-verso-hover="144"&gt;h1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62405" data-verso-hover="145"&gt;h2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62518" data-verso-hover="146"&gt;this✝²&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62593" data-verso-hover="147"&gt;this✝¹&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62742" data-verso-hover="148"&gt;this✝&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62861" data-verso-hover="149"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-12480154293214011092-13503-13506"&gt;&lt;span class="unknown token" data-binding=""&gt;&amp;lt;;&amp;gt;&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-12480154293214011092-13503-13506"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-80" checked="checked"&gt;&lt;span for="--verso-unique-80" class="goal-name"&gt;left&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62402" data-verso-hover="144"&gt;h1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62405" data-verso-hover="145"&gt;h2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62518" data-verso-hover="146"&gt;this✝²&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62593" data-verso-hover="147"&gt;this✝¹&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62742" data-verso-hover="148"&gt;this✝&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62861" data-verso-hover="149"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-81"&gt;&lt;span for="--verso-unique-81" class="goal-name"&gt;right&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62402" data-verso-hover="144"&gt;h1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62405" data-verso-hover="145"&gt;h2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62518" data-verso-hover="146"&gt;this✝²&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62593" data-verso-hover="147"&gt;this✝¹&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62742" data-verso-hover="148"&gt;this✝&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62861" data-verso-hover="149"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-8103053830788702367-13507-13518"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.constructor-13507" data-verso-hover="150"&gt;constructor&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-8103053830788702367-13507-13518"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-82" checked="checked"&gt;&lt;span for="--verso-unique-82" class="goal-name"&gt;right.left&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62402" data-verso-hover="144"&gt;h1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62405" data-verso-hover="145"&gt;h2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62518" data-verso-hover="146"&gt;this✝²&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62593" data-verso-hover="147"&gt;this✝¹&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62742" data-verso-hover="148"&gt;this✝&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62861" data-verso-hover="149"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-83"&gt;&lt;span for="--verso-unique-83" class="goal-name"&gt;right.right&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62402" data-verso-hover="144"&gt;h1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62405" data-verso-hover="145"&gt;h2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62518" data-verso-hover="146"&gt;this✝²&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62593" data-verso-hover="147"&gt;this✝¹&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62742" data-verso-hover="148"&gt;this✝&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62861" data-verso-hover="149"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-9782569433125676693-13521-13524"&gt;&lt;span class="unknown token" data-binding=""&gt;&amp;lt;;&amp;gt;&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-9782569433125676693-13521-13524"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-84" checked="checked"&gt;&lt;span for="--verso-unique-84" class="goal-name"&gt;left.left&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62402" data-verso-hover="144"&gt;h1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62405" data-verso-hover="145"&gt;h2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62518" data-verso-hover="146"&gt;this✝²&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62593" data-verso-hover="147"&gt;this✝¹&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62742" data-verso-hover="148"&gt;this✝&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62861" data-verso-hover="149"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-85"&gt;&lt;span for="--verso-unique-85" class="goal-name"&gt;left.right&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62402" data-verso-hover="144"&gt;h1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62405" data-verso-hover="145"&gt;h2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62518" data-verso-hover="146"&gt;this✝²&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62593" data-verso-hover="147"&gt;this✝¹&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62742" data-verso-hover="148"&gt;this✝&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62861" data-verso-hover="149"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-86"&gt;&lt;span for="--verso-unique-86" class="goal-name"&gt;right.left&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62402" data-verso-hover="144"&gt;h1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62405" data-verso-hover="145"&gt;h2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62518" data-verso-hover="146"&gt;this✝²&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62593" data-verso-hover="147"&gt;this✝¹&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62742" data-verso-hover="148"&gt;this✝&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62861" data-verso-hover="149"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-87"&gt;&lt;span for="--verso-unique-87" class="goal-name"&gt;right.right&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62402" data-verso-hover="144"&gt;h1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62405" data-verso-hover="145"&gt;h2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62518" data-verso-hover="146"&gt;this✝²&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62593" data-verso-hover="147"&gt;this✝¹&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62742" data-verso-hover="148"&gt;this✝&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62861" data-verso-hover="149"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7243985295916757291-13526-13540"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.simp-13526" data-verso-hover="31"&gt;simp&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="const token" data-binding="const-pow_add" data-verso-hover="151"&gt;pow_add&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7243985295916757291-13526-13540"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-88" checked="checked"&gt;&lt;span for="--verso-unique-88" class="goal-name"&gt;right.right&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62402" data-verso-hover="144"&gt;h1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62405" data-verso-hover="145"&gt;h2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62518" data-verso-hover="146"&gt;this✝²&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62593" data-verso-hover="147"&gt;this✝¹&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62742" data-verso-hover="148"&gt;this✝&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62861" data-verso-hover="149"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.43391" data-verso-hover="5"&gt;mn2&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43387" data-verso-hover="5"&gt;mn1&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.43383" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7-13542-13547"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.omega-13542" data-verso-hover="126"&gt;omega&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-13542-13547"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;&lt;/span&gt;&lt;/code&gt;&lt;/section&gt;
            &lt;/section&gt;
          &lt;section&gt;
            &lt;h3&gt;
              &lt;span id="leancasting"&gt;A digression on casting and pairs&lt;/span&gt;&lt;/h3&gt;
            &lt;p&gt;
              The biggest obstacle to algebra in Lean is that you need to do a lot of casting. Often times, statements on &lt;code class="math inline"&gt;\mathbb{N}&lt;/code&gt; which are trivial for integers or reals requires a lot of intermediate bound proofs to satisfy the conditions for &lt;code&gt;Nat.cast_sub&lt;/code&gt;.  I decided that if the tactic &lt;code&gt;omega&lt;/code&gt; ever failed, I would try converting to integers, but luckily &lt;code&gt;omega&lt;/code&gt; covers a lot.&lt;/p&gt;
            &lt;p&gt;
              Sasting pairs are not very well covered by &lt;code&gt;mathlib&lt;/code&gt;, so I included a few instances.&lt;/p&gt;
            &lt;code class="hl lean block" data-lean-context="notOpen"&gt;&lt;span class="has-info info"&gt;&lt;span class="hover-container"&gt;&lt;span class="hover-info messages"&gt;&lt;code class="message info"&gt;NtimesN.toRtimesR.{u_1} {R : Type u_1} [Ring R] : ℕ × ℕ → R × R&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.check-14089"&gt;#check&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-NtimesN.toRtimesR" data-verso-hover="152"&gt;NtimesN.toRtimesR&lt;/span&gt;&lt;span class="inter-text"&gt;

&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;@[&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Attr.coe-14117" data-verso-hover="153"&gt;coe&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.example-14122"&gt;example&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;×&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.77948" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;×&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.77948" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.fun-14157"&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.77828" data-verso-hover="5"&gt;p&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;=&amp;gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.77828" data-verso-hover="5"&gt;p&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.77828" data-verso-hover="5"&gt;p&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;2&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;

&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.instance-14178"&gt;instance&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Coe" data-verso-hover="154"&gt;Coe&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;×&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℕ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.77948" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;×&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.77948" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.whereStructInst-14215"&gt;where&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="const token" data-binding="const-Coe.coe" data-verso-hover="155"&gt;coe&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-NtimesN.toRtimesR" data-verso-hover="152"&gt;NtimesN.toRtimesR&lt;/span&gt;&lt;span class="inter-text"&gt;

&lt;/span&gt;&lt;span class="has-info info"&gt;&lt;span class="hover-container"&gt;&lt;span class="hover-info messages"&gt;&lt;code class="message info"&gt;ZtimesZ.toR : ℤ × ℤ → ℝ × ℝ&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.check-14249"&gt;#check&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-ZtimesZ.toR" data-verso-hover="156"&gt;ZtimesZ.toR&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℤ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;×&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℤ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;×&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℝ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;&lt;/span&gt;&lt;/code&gt;&lt;p&gt;
              Thanks to Yaël Dillies for pointing out a noncommmuting type class diamond when you add &lt;code&gt;Coe α β → Coe (α × α) (β × β)&lt;/code&gt; and &lt;code&gt;Coe α β → Coe α (β × β)&lt;/code&gt;. &lt;code&gt;Coe α β → Coe (α × α) ((β × β) × (β × β))&lt;/code&gt; can be &lt;code&gt;(x, y) ↦ ((↑x, ↑x), (↑y, ↑y))&lt;/code&gt;, or &lt;code&gt;((↑x, ↑y), (↑x, ↑y))&lt;/code&gt;. Eric Wieser's PhD thesis has a section "Multiple-inheritance hazards in dependently-typed algebraic hierarchies" about similar issues. Given their use in other languages, a proper array broadcasting interface should be able to define stable lifting procedures (at least in &lt;code class="math inline"&gt;\mathbb{R}&lt;/code&gt;).&lt;/p&gt;
            &lt;/section&gt;
          &lt;section&gt;
            &lt;h3&gt;
              &lt;span id="leaninterpolation"&gt;Interpolating&lt;/span&gt;&lt;/h3&gt;
            &lt;p&gt;
              To construct our interpolated version of the Hilbert curve, first we must define an API for interpolation. In &lt;code&gt;mathlib&lt;/code&gt;, we have the ability to (1) concatenate paths and (2) use &lt;code&gt;AffineMap.lineMap&lt;/code&gt; to connect points. Unfortunately, blindly concatenating paths is not so nice, since it always compresses the two arguments to &lt;code class="math inline"&gt;[0, \frac{1}{2}]&lt;/code&gt; and &lt;code class="math inline"&gt;[\frac{1}{2}, 1]&lt;/code&gt;. Repeated application does not evenly space points, which we need. So instead, we'll need to define linear interpolation:&lt;/p&gt;
            &lt;code class="hl lean block" data-lean-context="notOpen"&gt;&lt;span class="has-info info"&gt;&lt;span class="hover-container"&gt;&lt;span class="hover-info messages"&gt;&lt;code class="message info"&gt;interpolate_points (f : ℤ → ℝ × ℝ) (t : ℝ) : ℝ × ℝ&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.check-15458"&gt;#check&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-interpolate_points" data-verso-hover="157"&gt;interpolate_points&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.noncomputable-15484"&gt;noncomputable&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.example-15498"&gt;example&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.78108" data-verso-hover="158"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℤ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;×&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℝ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.78110" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℝ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;×&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.let-15559" data-verso-hover="58"&gt;let&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.78256" data-verso-hover="160"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.78110" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;⌋&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-AffineMap.lineMap" data-verso-hover="161"&gt;AffineMap.lineMap&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.78108" data-verso-hover="158"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.78256" data-verso-hover="160"&gt;n&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.78108" data-verso-hover="158"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.78256" data-verso-hover="160"&gt;n&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;+&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="160"&gt;1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.78110" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;-&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.78110" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;⌋&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;&lt;/span&gt;&lt;/code&gt;&lt;p&gt;
              Here, &lt;code&gt;AffineMap.lineMap&lt;/code&gt; is exactly the &lt;code class="math inline"&gt;(1 - t)x  + t y = x + t (y - x)&lt;/code&gt; but for affine spaces. I didn't bother to generalize this definition, but affine spaces seem like a convenient target. I also find this definition to be much simpler than the "informal" definition, which is a nice change. You may notice that it is noncomputable. This is because the floor function is terribly annoying, but the computable alternative here is also a chore. I'll leave it as an exercise for the reader to construct a computable version.&lt;/p&gt;
            &lt;p&gt;
              There are a few theorems for interpolation that are all ordinary. Remember you can hover or click to to get description and docs&lt;/p&gt;
            &lt;ul&gt;
              &lt;li&gt;
                &lt;p&gt;
                  &lt;code class="hl lean inline" data-lean-context="openNames"&gt;&lt;span class="const token" data-binding="const-interpolate_interpolates" data-verso-hover="162"&gt;interpolate_interpolates&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;
                &lt;/li&gt;
              &lt;li&gt;
                &lt;p&gt;
                  &lt;code class="hl lean inline" data-lean-context="openNames"&gt;&lt;span class="const token" data-binding="const-interpolate_add" data-verso-hover="163"&gt;interpolate_add&lt;/span&gt;&lt;/code&gt; and &lt;code class="hl lean inline" data-lean-context="openNames"&gt;&lt;span class="const token" data-binding="const-interpolate_add'" data-verso-hover="164"&gt;interpolate_add'&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;
                &lt;/li&gt;
              &lt;li&gt;
                &lt;p&gt;
                  &lt;code class="hl lean inline" data-lean-context="openNames"&gt;&lt;span class="const token" data-binding="const-interpolate_eq_affine_map" data-verso-hover="165"&gt;interpolate_eq_affine_map&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;
                &lt;/li&gt;
              &lt;li&gt;
                &lt;p&gt;
                  &lt;code class="hl lean inline" data-lean-context="openNames"&gt;&lt;span class="const token" data-binding="const-interpolate_section" data-verso-hover="166"&gt;interpolate_section&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;
                &lt;/li&gt;
              &lt;li&gt;
                &lt;p&gt;
                  &lt;code class="hl lean inline" data-lean-context="openNames"&gt;&lt;span class="const token" data-binding="const-interpolate_preserves" data-verso-hover="167"&gt;interpolate_preserves&lt;/span&gt;&lt;/code&gt;: this one was actually difficult to prove, since it involved some strange use of &lt;code class="hl lean inline" data-lean-context="openNames"&gt;&lt;span class="unknown token" data-binding=""&gt;@&lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Accumulate" data-verso-hover="168"&gt;Set.Accumulate&lt;/span&gt;&lt;/code&gt;.&lt;/p&gt;
                &lt;/li&gt;
              &lt;li&gt;
                &lt;p&gt;
                  &lt;code class="hl lean inline" data-lean-context="openNames"&gt;&lt;span class="const token" data-binding="const-interpolate_map" data-verso-hover="169"&gt;interpolate_map&lt;/span&gt;&lt;/code&gt; and &lt;code class="hl lean inline" data-lean-context="openNames"&gt;&lt;span class="const token" data-binding="const-interpolate_map'" data-verso-hover="170"&gt;interpolate_map'&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;
                &lt;/li&gt;
              &lt;li&gt;
                &lt;p&gt;
                  &lt;code class="hl lean inline" data-lean-context="openNames"&gt;&lt;span class="const token" data-binding="const-interpolate_is_continuous" data-verso-hover="171"&gt;interpolate_is_continuous&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;
                &lt;/li&gt;
              &lt;li&gt;
                &lt;p&gt;
                  &lt;code class="hl lean inline" data-lean-context="openNames"&gt;&lt;span class="const token" data-binding="const-interpolate_distance" data-verso-hover="172"&gt;interpolate_distance&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;
                &lt;/li&gt;
              &lt;/ul&gt;
            &lt;p&gt;
              Proving &lt;code&gt;interpolate_is_continuous&lt;/code&gt; required using &lt;code&gt;LocallyFinite.continuous&lt;/code&gt;. Trying to compose lots of continuous functions can be abused by interleaving them, and I refuse to "manually" use continuity here. Our "component" intervals &lt;code class="math inline"&gt;[i, i+1]&lt;/code&gt; cover each point at most twice. I found this to be completely obvious, but also very annoying to prove, so I prove at most 3 or 4 times with the use of the &lt;code class="math inline"&gt;\lfloor \cdot \rfloor&lt;/code&gt; and &lt;code class="math inline"&gt;\lfloor \cdot \rfloor&lt;/code&gt;.&lt;/p&gt;
            &lt;p&gt;
              I suspect that these proofs can be reordered and streamlined as well as extended to some really nice space. I am wary of standardizing too soon, since minor extensions like adding circular arcs are still a huge pain. There are plenty of questions like "why make them evenly spaced".&lt;/p&gt;
            &lt;/section&gt;
          &lt;section&gt;
            &lt;h3&gt;
              &lt;span id="leannormalized"&gt;Scaling and Normalized Version&lt;/span&gt;&lt;/h3&gt;
            &lt;p&gt;
              I often wanted to break things up into a "core" interpolated version and then compose it with linear functions for scaling. Oddly enough, the "scale" linear function didn't appear anywhere. I'm not sure if it's even necessary, but I implemented it:&lt;/p&gt;
            &lt;code class="hl lean block" data-lean-context="notOpen"&gt;&lt;span class="doc-comment token" data-binding=""&gt;/--
scale is smul as a LinearMap
-/&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;@[&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;reducible&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.noncomputable-17936"&gt;noncomputable&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.definition-17950"&gt;def&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-scale" data-verso-hover="173"&gt;scale&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.82082" data-verso-hover="159"&gt;s&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℝ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;×&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→L[&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℝ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;×&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="const token" data-binding="const-LinearMap.toContinuousLinearMap" data-verso-hover="174"&gt;LinearMap.toContinuousLinearMap&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;{&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="const token" data-binding="const-AddHom.toFun" data-verso-hover="175"&gt;toFun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.fun-18056"&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.95008" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;=&amp;gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.82082" data-verso-hover="159"&gt;s&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;•&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.95008" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="const token" data-binding="const-AddHom.map_add'" data-verso-hover="177"&gt;map_add'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-9013906259552399750-18089-18091"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.byTactic-18089" data-verso-hover="19"&gt;by&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-9013906259552399750-18089-18091"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.82077" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="sort token" data-binding="" data-verso-hover="20"&gt;Type u_1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.82080" data-verso-hover="21"&gt;inst✝&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Ring" data-verso-hover="11"&gt;Ring&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.82077" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.82082" data-verso-hover="159"&gt;s&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ (&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.103613" data-verso-hover="176"&gt;x &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.103614" data-verso-hover="176"&gt;y&lt;/span&gt;&lt;span class="inter-text"&gt; : &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt;), &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.82082" data-verso-hover="159"&gt;s&lt;/span&gt;&lt;span class="const token" data-binding="const-HSMul.hSMul" data-verso-hover="179"&gt; • &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.103613" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.103614" data-verso-hover="176"&gt;y&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.82082" data-verso-hover="159"&gt;s&lt;/span&gt;&lt;span class="const token" data-binding="const-HSMul.hSMul" data-verso-hover="179"&gt; • &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.103613" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.82082" data-verso-hover="159"&gt;s&lt;/span&gt;&lt;span class="const token" data-binding="const-HSMul.hSMul" data-verso-hover="179"&gt; • &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.103614" data-verso-hover="176"&gt;y&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7-18092-18096"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.simp-18092" data-verso-hover="31"&gt;simp&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-18092-18096"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="const token" data-binding="const-LinearMap.map_smul'" data-verso-hover="180"&gt;map_smul'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-11713284805411135207-18114-18116"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.byTactic-18114" data-verso-hover="19"&gt;by&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-11713284805411135207-18114-18116"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.82077" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="sort token" data-binding="" data-verso-hover="20"&gt;Type u_1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.82080" data-verso-hover="21"&gt;inst✝&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Ring" data-verso-hover="11"&gt;Ring&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.82077" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.82082" data-verso-hover="159"&gt;s&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ (&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.103613" data-verso-hover="159"&gt;m&lt;/span&gt;&lt;span class="inter-text"&gt; : &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt;) (&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.103614" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt; : &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt;), &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.82082" data-verso-hover="159"&gt;s&lt;/span&gt;&lt;span class="const token" data-binding="const-HSMul.hSMul" data-verso-hover="179"&gt; • &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.103613" data-verso-hover="159"&gt;m&lt;/span&gt;&lt;span class="const token" data-binding="const-HSMul.hSMul" data-verso-hover="179"&gt; • &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.103614" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-RingHom.id" data-verso-hover="181"&gt;RingHom.id&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.103613" data-verso-hover="159"&gt;m&lt;/span&gt;&lt;span class="const token" data-binding="const-HSMul.hSMul" data-verso-hover="179"&gt; • &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.82082" data-verso-hover="159"&gt;s&lt;/span&gt;&lt;span class="const token" data-binding="const-HSMul.hSMul" data-verso-hover="179"&gt; • &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.103614" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-3750745779977452911-18117-18121"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.simp-18117" data-verso-hover="31"&gt;simp&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-3750745779977452911-18117-18121"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.82077" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="sort token" data-binding="" data-verso-hover="20"&gt;Type u_1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.82080" data-verso-hover="21"&gt;inst✝&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Ring" data-verso-hover="11"&gt;Ring&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.82077" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.82082" data-verso-hover="159"&gt;s&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ (&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.103613" data-verso-hover="159"&gt;m &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.103615" data-verso-hover="159"&gt;a &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.103616" data-verso-hover="159"&gt;b&lt;/span&gt;&lt;span class="inter-text"&gt; : &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt;), &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.82082" data-verso-hover="159"&gt;s&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.103613" data-verso-hover="159"&gt;m&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.103615" data-verso-hover="159"&gt;a&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.103613" data-verso-hover="159"&gt;m&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.82082" data-verso-hover="159"&gt;s&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.103615" data-verso-hover="159"&gt;a&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-And" data-verso-hover="125"&gt; ∧ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.82082" data-verso-hover="159"&gt;s&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.103613" data-verso-hover="159"&gt;m&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.103616" data-verso-hover="159"&gt;b&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.103613" data-verso-hover="159"&gt;m&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.82082" data-verso-hover="159"&gt;s&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.103616" data-verso-hover="159"&gt;b&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-12226894194476253917-18123-18130"&gt;&lt;span class="keyword token" data-binding="kw-occ-Mathlib.Tactic.RingNF.ringNF-18123" data-verso-hover="182"&gt;ring_nf&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-12226894194476253917-18123-18130"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.82077" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="sort token" data-binding="" data-verso-hover="20"&gt;Type u_1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.82080" data-verso-hover="21"&gt;inst✝&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Ring" data-verso-hover="11"&gt;Ring&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.82077" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.82082" data-verso-hover="159"&gt;s&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ (&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.103613" data-verso-hover="159"&gt;m &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.103615" data-verso-hover="159"&gt;a &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.103616" data-verso-hover="159"&gt;b&lt;/span&gt;&lt;span class="inter-text"&gt; : &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt;), &lt;/span&gt;&lt;span class="const token" data-binding="const-True" data-verso-hover="183"&gt;True&lt;/span&gt;&lt;span class="const token" data-binding="const-And" data-verso-hover="125"&gt; ∧ &lt;/span&gt;&lt;span class="const token" data-binding="const-True" data-verso-hover="183"&gt;True&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7-18132-18136"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.simp-18132" data-verso-hover="31"&gt;simp&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-18132-18136"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;}&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;&lt;/span&gt;&lt;/code&gt;&lt;p&gt;
              Now, defining the final interpolated version involves stitching this together (+ casting :( )&lt;/p&gt;
            &lt;code class="hl lean block" data-lean-context="notOpen"&gt;&lt;span class="doc-comment token" data-binding=""&gt;/--
An iteration of the Hilbert curve as ℝ → ℝ × ℝ interpolated
and scaled to [0, 1] × [0, 1].
-/&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.noncomputable-18365"&gt;noncomputable&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.definition-18379"&gt;def&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-normalized_hilbert_curve" data-verso-hover="184"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.103619" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℕ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="const token" data-binding="const-interpolate_points" data-verso-hover="157"&gt;interpolate_points&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="const token" data-binding="const-scale" data-verso-hover="173"&gt;scale&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="159"&gt;2&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℝ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;^&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.103619" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;⁻¹&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;∘&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;↑&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;∘&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-hilbert_curve" data-verso-hover="55"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.103619" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;∘&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.fun-18508"&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.104041" data-verso-hover="160"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;↦&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.104041" data-verso-hover="160"&gt;x&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.toNat" data-verso-hover="185"&gt;toNat&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;∘&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.fun-18536"&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.104059" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;↦&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.104059" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;*&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-hilbert_length" data-verso-hover="0"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.103619" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;&lt;/span&gt;&lt;/code&gt;&lt;p&gt;
              Continuity ends up being extremely simple:&lt;/p&gt;
            &lt;code class="hl lean block" data-lean-context="openNames"&gt;&lt;span class="has-info info"&gt;&lt;span class="hover-container"&gt;&lt;span class="hover-info messages"&gt;&lt;code class="message info"&gt;HilbertCurve.normal_hilbert_curve_continuous (i : ℕ) : Continuous (normalized_hilbert_curve i)&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.check-18635"&gt;#check&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normal_hilbert_curve_continuous" data-verso-hover="186"&gt;normal_hilbert_curve_continuous&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="doc-comment token" data-binding=""&gt;/--
Each real Hilbert curve is continuous.
-/&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.example-18720"&gt;example&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℕ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Continuous" data-verso-hover="187"&gt;Continuous&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-17888119278389212675-18783-18785"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.byTactic-18783" data-verso-hover="19"&gt;by&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-17888119278389212675-18783-18785"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Continuous" data-verso-hover="187"&gt;Continuous&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-13262601303018591558-18788-18817"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.rwSeq-18788" data-verso-hover="32"&gt;rw&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-13262601303018591558-18788-18817"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Continuous" data-verso-hover="187"&gt;Continuous&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-interpolate_points" data-verso-hover="157"&gt;interpolate_points&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;⇑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.scale" data-verso-hover="190"&gt;scale&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt; ∘ &lt;/span&gt;&lt;span class="const token" data-binding="const-NtimesN.toRtimesR" data-verso-hover="152"&gt;NtimesN.toRtimesR&lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt; ∘ &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt; ∘ &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15431" data-verso-hover="160"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15431" data-verso-hover="160"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.toNat" data-verso-hover="185"&gt;toNat&lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt; ∘ &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15434" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt;
    &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15434" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-14852088452193278585-18820-18961"&gt;&lt;span class="keyword token" data-binding="kw-occ-Mathlib.Tactic.setTactic-18820"&gt;set&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14822" data-verso-hover="158"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℤ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;×&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;⇑&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.scale" data-verso-hover="190"&gt;scale&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="159"&gt;2&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;^&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;⁻¹&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;∘&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.fun-18880"&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14689" data-verso-hover="5"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;↦&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;↑&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14689" data-verso-hover="5"&gt;x&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;↑&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14689" data-verso-hover="5"&gt;x&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;2&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;∘&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;∘&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.fun-18932"&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14721" data-verso-hover="160"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;↦&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14721" data-verso-hover="160"&gt;x&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.toNat" data-verso-hover="185"&gt;toNat&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-null-18951"&gt;with&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14908" data-verso-hover="192"&gt;f_def&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-14852088452193278585-18820-18961"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.14822" data-verso-hover="158"&gt;f&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Int" data-verso-hover="193"&gt;ℤ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="inter-text"&gt;⇑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.scale" data-verso-hover="190"&gt;scale&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt; ∘ &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15423" data-verso-hover="5"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15423" data-verso-hover="5"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15423" data-verso-hover="5"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt; ∘ &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt; ∘ &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15431" data-verso-hover="160"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15431" data-verso-hover="160"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.toNat" data-verso-hover="185"&gt;toNat&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.14908" data-verso-hover="192"&gt;f_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.14822" data-verso-hover="158"&gt;f&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="inter-text"&gt;⇑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.scale" data-verso-hover="190"&gt;scale&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt; ∘ &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15423" data-verso-hover="5"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15423" data-verso-hover="5"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15423" data-verso-hover="5"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt; ∘ &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt; ∘ &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15431" data-verso-hover="160"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15431" data-verso-hover="160"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.toNat" data-verso-hover="185"&gt;toNat&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Continuous" data-verso-hover="187"&gt;Continuous&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-interpolate_points" data-verso-hover="157"&gt;interpolate_points&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;⇑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.scale" data-verso-hover="190"&gt;scale&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt; ∘ &lt;/span&gt;&lt;span class="const token" data-binding="const-NtimesN.toRtimesR" data-verso-hover="152"&gt;NtimesN.toRtimesR&lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt; ∘ &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt; ∘ &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15431" data-verso-hover="160"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15431" data-verso-hover="160"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.toNat" data-verso-hover="185"&gt;toNat&lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt; ∘ &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15434" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt;
    &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15434" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-4932384112217053280-18964-18999"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.tacticHave_-18964" data-verso-hover="74"&gt;have&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-interpolate_is_continuous" data-verso-hover="171"&gt;interpolate_is_continuous&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14822" data-verso-hover="158"&gt;f&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-4932384112217053280-18964-18999"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.14822" data-verso-hover="158"&gt;f&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Int" data-verso-hover="193"&gt;ℤ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="inter-text"&gt;⇑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.scale" data-verso-hover="190"&gt;scale&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt; ∘ &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15423" data-verso-hover="5"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15423" data-verso-hover="5"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15423" data-verso-hover="5"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt; ∘ &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt; ∘ &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15431" data-verso-hover="160"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15431" data-verso-hover="160"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.toNat" data-verso-hover="185"&gt;toNat&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.14908" data-verso-hover="192"&gt;f_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.14822" data-verso-hover="158"&gt;f&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="inter-text"&gt;⇑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.scale" data-verso-hover="190"&gt;scale&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt; ∘ &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15423" data-verso-hover="5"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15423" data-verso-hover="5"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15423" data-verso-hover="5"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt; ∘ &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt; ∘ &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15431" data-verso-hover="160"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15431" data-verso-hover="160"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.toNat" data-verso-hover="185"&gt;toNat&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.14916" data-verso-hover="194"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Continuous" data-verso-hover="187"&gt;Continuous&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-interpolate_points" data-verso-hover="157"&gt;interpolate_points&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14822" data-verso-hover="158"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Continuous" data-verso-hover="187"&gt;Continuous&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-interpolate_points" data-verso-hover="157"&gt;interpolate_points&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;⇑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.scale" data-verso-hover="190"&gt;scale&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt; ∘ &lt;/span&gt;&lt;span class="const token" data-binding="const-NtimesN.toRtimesR" data-verso-hover="152"&gt;NtimesN.toRtimesR&lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt; ∘ &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt; ∘ &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15431" data-verso-hover="160"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15431" data-verso-hover="160"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.toNat" data-verso-hover="185"&gt;toNat&lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt; ∘ &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15434" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt;
    &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15434" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-1615657223999481321-19002-19028"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.apply-19002" data-verso-hover="77"&gt;apply&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Continuous.comp" data-verso-hover="195"&gt;Continuous.comp&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14916" data-verso-hover="194"&gt;this&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-1615657223999481321-19002-19028"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.14822" data-verso-hover="158"&gt;f&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Int" data-verso-hover="193"&gt;ℤ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="inter-text"&gt;⇑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.scale" data-verso-hover="190"&gt;scale&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt; ∘ &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15423" data-verso-hover="5"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15423" data-verso-hover="5"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15423" data-verso-hover="5"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt; ∘ &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt; ∘ &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15431" data-verso-hover="160"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15431" data-verso-hover="160"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.toNat" data-verso-hover="185"&gt;toNat&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.14908" data-verso-hover="192"&gt;f_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.14822" data-verso-hover="158"&gt;f&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="inter-text"&gt;⇑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.scale" data-verso-hover="190"&gt;scale&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt; ∘ &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15423" data-verso-hover="5"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15423" data-verso-hover="5"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt;.1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15423" data-verso-hover="5"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt;.2&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt; ∘ &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_curve" data-verso-hover="80"&gt;hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt; ∘ &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15431" data-verso-hover="160"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15431" data-verso-hover="160"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.toNat" data-verso-hover="185"&gt;toNat&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.14916" data-verso-hover="194"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Continuous" data-verso-hover="187"&gt;Continuous&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-interpolate_points" data-verso-hover="157"&gt;interpolate_points&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14822" data-verso-hover="158"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Continuous" data-verso-hover="187"&gt;Continuous&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.14079" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7-19031-19057"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.apply-19031" data-verso-hover="77"&gt;apply&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-continuous_mul_right" data-verso-hover="196"&gt;continuous_mul_right&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-19031-19057"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;&lt;/span&gt;&lt;/code&gt;&lt;p&gt;
              Once I had the distance lemma &lt;code&gt;normal_subdivision_size&lt;/code&gt; informally, writing it in Lean didn't need &lt;em&gt;too&lt;/em&gt; much creatively, except for this missing floor lemma which I had to prove "by definition".&lt;/p&gt;
            &lt;code class="hl lean block" data-lean-context="notOpen"&gt;&lt;span class="doc-comment token" data-binding=""&gt;/--
If you multiply by n, floor, then integer divide by n, then it is the same as floor.
-/&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-group-19368"&gt;lemma&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="has-info warning"&gt;&lt;span class="hover-container"&gt;&lt;span class="hover-info messages"&gt;&lt;code class="message warning"&gt;declaration uses 'sorry'&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-div_floor_mul_eq_floor" data-verso-hover="197"&gt;div_floor_mul_eq_floor&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.104335" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℝ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.104337" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℕ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.104397" data-verso-hover="198"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="159"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;≤&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.104335" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.104444" data-verso-hover="199"&gt;h'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;&amp;lt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.104337" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.104335" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;*&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.104337" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;⌋&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;/&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.104337" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.104335" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;⌋&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-16717605970632858660-19476-19478"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.byTactic-19476" data-verso-hover="19"&gt;by&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-16717605970632858660-19476-19478"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.104335" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.104337" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.104397" data-verso-hover="198"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.104335" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.104444" data-verso-hover="199"&gt;h'&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.104337" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.104335" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.104337" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.104337" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.104335" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7-19479-19484"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.tacticSorry-19479" data-verso-hover="82"&gt;sorry&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-19479-19484"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;&lt;/span&gt;&lt;/code&gt;&lt;code class="hl lean block" data-lean-context="openNames"&gt;&lt;span class="has-info info"&gt;&lt;span class="hover-container"&gt;&lt;span class="hover-info messages"&gt;&lt;code class="message info"&gt;HilbertCurve.normal_subdivision_size (i : ℕ) (t : ℝ) :
  dist (normalized_hilbert_curve i t) (normalized_hilbert_curve (i + 1) t) ≤ 2 * (2 ^ i)⁻¹&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.check-19508"&gt;#check&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normal_subdivision_size" data-verso-hover="201"&gt;normal_subdivision_size&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="doc-comment token" data-binding=""&gt;/--
The real Hilbert curve only moves 1 / 2^(i-1) each iteration for each t.
-/&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.example-19619"&gt;example&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℕ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℝ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;+&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;≤&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="159"&gt;2&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;*&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="159"&gt;2&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;^&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;⁻¹&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-16659950412097317847-19748-19750"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.byTactic-19748" data-verso-hover="19"&gt;by&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-16659950412097317847-19748-19750"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  -- We'll prove this by the triangle inequality between H_i(t), H_i(n / L_i),
  -- H_{i+1}(n / L_{i+1)}), and finally H_{i+1}(t). We do this instead
  -- of a more obvious subdivision lemma since the edge effects at the boundary
  -- are too annoying.
  &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-1007010197389515487-20006-20225"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.apply-20006" data-verso-hover="77"&gt;apply&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-le_trans" data-verso-hover="137"&gt;le_trans&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-dist_triangle4" data-verso-hover="203"&gt;dist_triangle4&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;_&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;*&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;⌋&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;/&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;+&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;*&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;+&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;⌋&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;/&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;_&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-1007010197389515487-20006-20225"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; +
      &lt;/span&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
        &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; +
    &lt;/span&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  -- Bounding the distance between points t and n / L_i is still easy.
  &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-14667088716745688071-20299-20484"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.tacticHave_-20299" data-verso-hover="74"&gt;have&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.17115" data-verso-hover="204"&gt;t1&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;↑&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;*&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;↑&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;⌋&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;/&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;↑&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;≤&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="159"&gt;2&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;^&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;⁻¹&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normal_hilbert_dist" data-verso-hover="205"&gt;normal_hilbert_dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-14667088716745688071-20299-20484"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17115" data-verso-hover="204"&gt;t1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; +
      &lt;/span&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
        &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; +
    &lt;/span&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.tacticHave_-20487" data-verso-hover="74"&gt;have&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.17825" data-verso-hover="206"&gt;t3&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;+&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;*&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;+&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;⌋&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;/&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;+&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;+&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;≤&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="159"&gt;2&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;^&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;+&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;⁻¹&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-16659950412097317847-20656-20658"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.byTactic-20656" data-verso-hover="19"&gt;by&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-16659950412097317847-20656-20658"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-2621266701069518730-20663-20677"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.rwSeq-20663" data-verso-hover="32"&gt;rw&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="const token" data-binding="const-dist_comm" data-verso-hover="207"&gt;dist_comm&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-2621266701069518730-20663-20677"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17115" data-verso-hover="204"&gt;t1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7-20682-20715"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.exact-20682" data-verso-hover="118"&gt;exact&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normal_hilbert_dist" data-verso-hover="205"&gt;normal_hilbert_dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;+&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-20682-20715"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.tacticHave_-20718" data-verso-hover="74"&gt;have&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18815" data-verso-hover="208"&gt;t2&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;*&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;⌋&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;/&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;+&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;*&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;+&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;⌋&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;/&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;+&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;≤&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="159"&gt;2&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;^&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;+&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;⁻¹&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-16659950412097317847-20931-20933"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.byTactic-20931" data-verso-hover="19"&gt;by&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-16659950412097317847-20931-20933"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    -- When t ≤ 0, it's a straightforward calculation.
    &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-3090844584064287064-20995-21015"&gt;&lt;span class="keyword token" data-binding="kw-occ-«tacticBy_cases_:_»-20995" data-verso-hover="209"&gt;by_cases&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18884" data-verso-hover="210"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;≤&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="159"&gt;0&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-3090844584064287064-20995-21015"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-105" checked="checked"&gt;&lt;span for="--verso-unique-105" class="goal-name"&gt;pos&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17115" data-verso-hover="204"&gt;t1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17825" data-verso-hover="206"&gt;t3&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.18884" data-verso-hover="210"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-106"&gt;&lt;span for="--verso-unique-106" class="goal-name"&gt;neg&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17115" data-verso-hover="204"&gt;t1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17825" data-verso-hover="206"&gt;t3&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.18884" data-verso-hover="211"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Not" data-verso-hover="212"&gt;¬&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-10533931693994356319-21020-21022"&gt;&lt;span class="unknown token" data-binding=""&gt;·&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-10533931693994356319-21020-21022"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-107" checked="checked"&gt;&lt;span for="--verso-unique-107" class="goal-name"&gt;pos&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17115" data-verso-hover="204"&gt;t1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17825" data-verso-hover="206"&gt;t3&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.18884" data-verso-hover="210"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.tacticHave_-21023" data-verso-hover="74"&gt;have&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;∀&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18899" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℕ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;*&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18899" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;⌋&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;/&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18899" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;≤&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="159"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℝ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt;  &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-16659950412097317847-21076-21078"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.byTactic-21076" data-verso-hover="19"&gt;by&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-16659950412097317847-21076-21078"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
        &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7651378040277358276-21087-21094"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.intro-21087" data-verso-hover="143"&gt;intro&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19854" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7651378040277358276-21087-21094"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17115" data-verso-hover="204"&gt;t1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17825" data-verso-hover="206"&gt;t3&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.18884" data-verso-hover="210"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.19854" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19854" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19854" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
        &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-4909815122678609405-21103-21139"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.apply-21103" data-verso-hover="77"&gt;apply&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-div_nonpos_of_nonpos_of_nonneg" data-verso-hover="213"&gt;div_nonpos_of_nonpos_of_nonneg&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-4909815122678609405-21103-21139"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-110" checked="checked"&gt;&lt;span for="--verso-unique-110" class="goal-name"&gt;ha&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17115" data-verso-hover="204"&gt;t1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17825" data-verso-hover="206"&gt;t3&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.18884" data-verso-hover="210"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.19854" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19854" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-111"&gt;&lt;span for="--verso-unique-111" class="goal-name"&gt;hb&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17115" data-verso-hover="204"&gt;t1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17825" data-verso-hover="206"&gt;t3&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.18884" data-verso-hover="210"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.19854" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19854" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
        &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-12913182976434201240-21148-21150"&gt;&lt;span class="unknown token" data-binding=""&gt;·&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-12913182976434201240-21148-21150"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-112" checked="checked"&gt;&lt;span for="--verso-unique-112" class="goal-name"&gt;ha&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17115" data-verso-hover="204"&gt;t1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17825" data-verso-hover="206"&gt;t3&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.18884" data-verso-hover="210"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.19854" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19854" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-6447691076366970147-21151-21160"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.tacticNorm_cast__-21151" data-verso-hover="214"&gt;norm_cast&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-6447691076366970147-21151-21160"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-113" checked="checked"&gt;&lt;span for="--verso-unique-113" class="goal-name"&gt;ha&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17115" data-verso-hover="204"&gt;t1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17825" data-verso-hover="206"&gt;t3&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.18884" data-verso-hover="210"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.19854" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19854" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
          &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-2433283609932520496-21171-21193"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.apply-21171" data-verso-hover="77"&gt;apply&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor_nonpos" data-verso-hover="215"&gt;Int.floor_nonpos&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-2433283609932520496-21171-21193"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-114" checked="checked"&gt;&lt;span for="--verso-unique-114" class="goal-name"&gt;ha.ha&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17115" data-verso-hover="204"&gt;t1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17825" data-verso-hover="206"&gt;t3&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.18884" data-verso-hover="210"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.19854" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19854" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
          &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-14066509089773201368-21204-21240"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.apply-21204" data-verso-hover="77"&gt;apply&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-mul_nonpos_of_nonpos_of_nonneg" data-verso-hover="216"&gt;mul_nonpos_of_nonpos_of_nonneg&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-14066509089773201368-21204-21240"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-115" checked="checked"&gt;&lt;span for="--verso-unique-115" class="goal-name"&gt;ha.ha.ha&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17115" data-verso-hover="204"&gt;t1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17825" data-verso-hover="206"&gt;t3&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.18884" data-verso-hover="210"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.19854" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-116"&gt;&lt;span for="--verso-unique-116" class="goal-name"&gt;ha.ha.hb&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17115" data-verso-hover="204"&gt;t1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17825" data-verso-hover="206"&gt;t3&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.18884" data-verso-hover="210"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.19854" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19854" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
          &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-2586028716979044494-21251-21258"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.exact-21251" data-verso-hover="118"&gt;exact&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18884" data-verso-hover="210"&gt;h&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-2586028716979044494-21251-21258"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-117" checked="checked"&gt;&lt;span for="--verso-unique-117" class="goal-name"&gt;ha.ha.hb&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17115" data-verso-hover="204"&gt;t1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17825" data-verso-hover="206"&gt;t3&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.18884" data-verso-hover="210"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.19854" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19854" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
          &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7-21269-21296"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.simp-21269" data-verso-hover="31"&gt;simp&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-null-21274"&gt;only&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="const token" data-binding="const-Nat.cast_nonneg" data-verso-hover="217"&gt;Nat.cast_nonneg&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-21269-21296"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
        &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7-21305-21332"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.simp-21305" data-verso-hover="31"&gt;simp&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-null-21310"&gt;only&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="const token" data-binding="const-Nat.cast_nonneg" data-verso-hover="217"&gt;Nat.cast_nonneg&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-21305-21332"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7448160248702633207-21339-21405"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.rwSeq-21339" data-verso-hover="32"&gt;rw&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve_nonpos" data-verso-hover="218"&gt;normalized_hilbert_curve_nonpos&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;_&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19849" data-verso-hover="219"&gt;this&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7448160248702633207-21339-21405"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-118" checked="checked"&gt;&lt;span for="--verso-unique-118" class="goal-name"&gt;pos&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17115" data-verso-hover="204"&gt;t1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17825" data-verso-hover="206"&gt;t3&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.18884" data-verso-hover="210"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.19849" data-verso-hover="219"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ (&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.46483" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; : &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt;), &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.46483" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.46483" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-44258267881024915-21412-21486"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.rwSeq-21412" data-verso-hover="32"&gt;rw&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve_nonpos" data-verso-hover="218"&gt;normalized_hilbert_curve_nonpos&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;+&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;_&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.19849" data-verso-hover="219"&gt;this&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;+&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-44258267881024915-21412-21486"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-119" checked="checked"&gt;&lt;span for="--verso-unique-119" class="goal-name"&gt;pos&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17115" data-verso-hover="204"&gt;t1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17825" data-verso-hover="206"&gt;t3&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.18884" data-verso-hover="210"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.19849" data-verso-hover="219"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ (&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.46483" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; : &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt;), &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.46483" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.46483" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-13656669449930547420-21493-21540"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.rwSeq-21493" data-verso-hover="32"&gt;rw&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normal_hilbert_start" data-verso-hover="220"&gt;normal_hilbert_start&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normal_hilbert_start" data-verso-hover="220"&gt;normal_hilbert_start&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-13656669449930547420-21493-21540"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-120" checked="checked"&gt;&lt;span for="--verso-unique-120" class="goal-name"&gt;pos&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17115" data-verso-hover="204"&gt;t1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17825" data-verso-hover="206"&gt;t3&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.18884" data-verso-hover="210"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.19849" data-verso-hover="219"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ (&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.46483" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; : &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt;), &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.46483" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.46483" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7-21547-21551"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.simp-21547" data-verso-hover="31"&gt;simp&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-21547-21551"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-4428300602108946133-21556-21579"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.simp-21556" data-verso-hover="31"&gt;simp&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-null-21561"&gt;only&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="const token" data-binding="const-not_le" data-verso-hover="221"&gt;not_le&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.location-21575" data-verso-hover="89"&gt;at&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.18884" data-verso-hover="211"&gt;h&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-4428300602108946133-21556-21579"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-121" checked="checked"&gt;&lt;span for="--verso-unique-121" class="goal-name"&gt;neg&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17115" data-verso-hover="204"&gt;t1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17825" data-verso-hover="206"&gt;t3&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.25419" data-verso-hover="222"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    -- Now we can relate the ⌊n⌋ = ⌊4 * n⌋ / 4
    &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.tacticHave_-21639" data-verso-hover="74"&gt;have&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;*&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;⌋&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;*&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;+&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;⌋&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;/&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="160"&gt;4&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-16659950412097317847-21713-21715"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.byTactic-21713" data-verso-hover="19"&gt;by&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-16659950412097317847-21713-21715"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-5525551212566047036-21722-21758"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.rwSeq-21722" data-verso-hover="32"&gt;rw&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length_succ" data-verso-hover="135"&gt;hilbert_length_succ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-mul_comm" data-verso-hover="223"&gt;mul_comm&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;4&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-5525551212566047036-21722-21758"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17115" data-verso-hover="204"&gt;t1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17825" data-verso-hover="206"&gt;t3&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.25419" data-verso-hover="222"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-17838103001960978466-21765-21798"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.rwSeq-21765" data-verso-hover="32"&gt;rw&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="const token" data-binding="const-Nat.cast_mul" data-verso-hover="224"&gt;Nat.cast_mul&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat.cast_ofNat" data-verso-hover="225"&gt;Nat.cast_ofNat&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-17838103001960978466-21765-21798"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17115" data-verso-hover="204"&gt;t1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17825" data-verso-hover="206"&gt;t3&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.25419" data-verso-hover="222"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-16382039515740017128-21805-21821"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.rwSeq-21805" data-verso-hover="32"&gt;rw&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;&amp;lt;-&lt;/span&gt;&lt;span class="const token" data-binding="const-mul_assoc" data-verso-hover="226"&gt;mul_assoc&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-16382039515740017128-21805-21821"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17115" data-verso-hover="204"&gt;t1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17825" data-verso-hover="206"&gt;t3&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.25419" data-verso-hover="222"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-2815086737397663765-21828-21832"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.symm-21828" data-verso-hover="227"&gt;symm&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-2815086737397663765-21828-21832"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17115" data-verso-hover="204"&gt;t1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17825" data-verso-hover="206"&gt;t3&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.25419" data-verso-hover="222"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-10265679809475571164-21839-21867"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.apply-21839" data-verso-hover="77"&gt;apply&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.div_floor_mul_eq_floor" data-verso-hover="228"&gt;div_floor_mul_eq_floor&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-10265679809475571164-21839-21867"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-127" checked="checked"&gt;&lt;span for="--verso-unique-127" class="goal-name"&gt;h&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17115" data-verso-hover="204"&gt;t1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17825" data-verso-hover="206"&gt;t3&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.25419" data-verso-hover="222"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-128"&gt;&lt;span for="--verso-unique-128" class="goal-name"&gt;h'&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17115" data-verso-hover="204"&gt;t1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17825" data-verso-hover="206"&gt;t3&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.25419" data-verso-hover="222"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-3172455814297654536-21874-21876"&gt;&lt;span class="unknown token" data-binding=""&gt;·&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-3172455814297654536-21874-21876"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-129" checked="checked"&gt;&lt;span for="--verso-unique-129" class="goal-name"&gt;h&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17115" data-verso-hover="204"&gt;t1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17825" data-verso-hover="206"&gt;t3&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.25419" data-verso-hover="222"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7-21877-21887"&gt;&lt;span class="keyword token" data-binding="kw-occ-Mathlib.Tactic.Positivity.positivity-21877" data-verso-hover="229"&gt;positivity&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-21877-21887"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7-21894-21902"&gt;&lt;span class="keyword token" data-binding="kw-occ-Mathlib.Tactic.normNum-21894" data-verso-hover="230"&gt;norm_num&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-21894-21902"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-2348744971501877389-21907-21916"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.rwSeq-21907" data-verso-hover="32"&gt;rw&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.25797" data-verso-hover="231"&gt;this&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-2348744971501877389-21907-21916"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-130" checked="checked"&gt;&lt;span for="--verso-unique-130" class="goal-name"&gt;neg&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17115" data-verso-hover="204"&gt;t1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17825" data-verso-hover="206"&gt;t3&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.25419" data-verso-hover="222"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.25797" data-verso-hover="231"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    -- We need to deal with some toNat casting to apply normal_hilbert_across_dist
    &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-15135607376335419423-22004-22149"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.rwSeq-22004" data-verso-hover="32"&gt;rw&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.show-22008"&gt;show&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;*&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;+&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;⌋&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;*&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;+&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;⌋&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.toNat" data-verso-hover="185"&gt;toNat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.byTactic'-22083"&gt;by&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.refine-22092" data-verso-hover="232"&gt;refine&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Int.eq_natCast_toNat" data-verso-hover="233"&gt;Int.eq_natCast_toNat&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Iff.mpr" data-verso-hover="234"&gt;mpr&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;_&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Mathlib.Tactic.Positivity.positivity-22133" data-verso-hover="229"&gt;positivity&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-15135607376335419423-22004-22149"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-131" checked="checked"&gt;&lt;span for="--verso-unique-131" class="goal-name"&gt;neg&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17115" data-verso-hover="204"&gt;t1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17825" data-verso-hover="206"&gt;t3&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.25419" data-verso-hover="222"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.25797" data-verso-hover="231"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="inter-text"&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.toNat" data-verso-hover="185"&gt;toNat&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="inter-text"&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.toNat" data-verso-hover="185"&gt;toNat&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-9982369233935685361-22154-22282"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.rwSeq-22154" data-verso-hover="32"&gt;rw&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.show-22158"&gt;show&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;*&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;+&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;⌋&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.toNat" data-verso-hover="185"&gt;toNat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;/&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="160"&gt;4&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℤ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;*&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;+&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;⌋&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.toNat" data-verso-hover="185"&gt;toNat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;/&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;4&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℕ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.byTactic'-22263"&gt;by&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.simp-22272" data-verso-hover="31"&gt;simp&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-9982369233935685361-22154-22282"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-132" checked="checked"&gt;&lt;span for="--verso-unique-132" class="goal-name"&gt;neg&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17115" data-verso-hover="204"&gt;t1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17825" data-verso-hover="206"&gt;t3&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.25419" data-verso-hover="222"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.25797" data-verso-hover="231"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="inter-text"&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.toNat" data-verso-hover="185"&gt;toNat&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="inter-text"&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.toNat" data-verso-hover="185"&gt;toNat&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.tacticHave_-22287" data-verso-hover="74"&gt;have&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;∀&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.38506" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℕ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.38506" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℤ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℝ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.38506" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℝ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-16659950412097317847-22339-22341"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.byTactic-22339" data-verso-hover="19"&gt;by&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-16659950412097317847-22339-22341"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-1988029085760688016-22342-22349"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.intro-22342" data-verso-hover="143"&gt;intro&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.38607" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-1988029085760688016-22342-22349"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17115" data-verso-hover="204"&gt;t1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17825" data-verso-hover="206"&gt;t3&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.25419" data-verso-hover="222"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.25797" data-verso-hover="231"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.38607" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.38607" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.38607" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7-22351-22360"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.tacticNorm_cast__-22351" data-verso-hover="214"&gt;norm_cast&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-22351-22360"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-5168621549531523759-22365-22380"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.rwSeq-22365" data-verso-hover="32"&gt;rw&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.38603" data-verso-hover="235"&gt;this&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.38603" data-verso-hover="235"&gt;this&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-5168621549531523759-22365-22380"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-135" checked="checked"&gt;&lt;span for="--verso-unique-135" class="goal-name"&gt;neg&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17115" data-verso-hover="204"&gt;t1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17825" data-verso-hover="206"&gt;t3&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.25419" data-verso-hover="222"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.25797" data-verso-hover="231"&gt;this✝&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.38603" data-verso-hover="235"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ (&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.46483" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; : &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt;), &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.46483" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.46483" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="inter-text"&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.toNat" data-verso-hover="185"&gt;toNat&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="inter-text"&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.toNat" data-verso-hover="185"&gt;toNat&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7-22385-22417"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.apply-22385" data-verso-hover="77"&gt;apply&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normal_hilbert_across_dist" data-verso-hover="236"&gt;normal_hilbert_across_dist&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-22385-22417"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-9405154566331052498-22420-22532"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.rwSeq-22420" data-verso-hover="32"&gt;rw&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.show-22424"&gt;show&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="159"&gt;2&lt;/span&gt;&lt;span class="inter-text"&gt;  &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;*&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="159"&gt;2&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℝ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;^&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;⁻¹&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="159"&gt;2&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;^&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;⁻¹&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="159"&gt;2&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;^&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;+&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;⁻¹&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="159"&gt;2&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;^&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;+&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;⁻¹&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.byTactic'-22500"&gt;by&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.rwSeq-22507" data-verso-hover="32"&gt;rw&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="const token" data-binding="const-pow_add" data-verso-hover="151"&gt;pow_add&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Mathlib.Tactic.RingNF.ring-22524" data-verso-hover="237"&gt;ring&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-9405154566331052498-22420-22532"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17115" data-verso-hover="204"&gt;t1&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.17825" data-verso-hover="206"&gt;t3&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.18815" data-verso-hover="208"&gt;t2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; +
      &lt;/span&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
        &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; +
    &lt;/span&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌊&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.floor" data-verso-hover="200"&gt;⌋&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15415" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.15413" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7-22535-22543"&gt;&lt;span class="keyword token" data-binding="kw-occ-Mathlib.Tactic.linarith-22535" data-verso-hover="238"&gt;linarith&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-22535-22543"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;&lt;/span&gt;&lt;/code&gt;&lt;p&gt;
              From this, we get a Cauchy sequence &lt;code&gt;normal_is_cauchy&lt;/code&gt;.&lt;/p&gt;
            &lt;p&gt;
              To prove "approximate" surjectivity, we can use the floor function &lt;em&gt;except&lt;/em&gt; for the top and right edge, which we have to do manually. Because we already lost computability, we can use classical logic and simplify our life a bit. We'll go even further and turn this existential into a left-inverse too.&lt;/p&gt;
            &lt;ul&gt;
              &lt;li&gt;
                &lt;p&gt;
                  &lt;code class="hl lean inline" data-lean-context="openNames"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.exists_normal_hilbert_approx_inv" data-verso-hover="239"&gt;exists_normal_hilbert_approx_inv&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;
                &lt;/li&gt;
              &lt;li&gt;
                &lt;p&gt;
                  &lt;code class="hl lean inline" data-lean-context="openNames"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.norm_hilbert_inv" data-verso-hover="240"&gt;norm_hilbert_inv&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;
                &lt;/li&gt;
              &lt;/ul&gt;
            &lt;/section&gt;
          &lt;section&gt;
            &lt;h3&gt;
              &lt;span id="leanlimit"&gt;Limit Definition&lt;/span&gt;&lt;/h3&gt;
            &lt;p&gt;
              Our final limit definition is straightforward at this point:&lt;/p&gt;
            &lt;code class="hl lean block" data-lean-context="openNames"&gt;&lt;span class="has-info info"&gt;&lt;span class="hover-container"&gt;&lt;span class="hover-info messages"&gt;&lt;code class="message info"&gt;HilbertCurve.limit_hilbert_curve_exists (t : ℝ) :
  ∃ x, Filter.Tendsto (fun x =&amp;gt; normalized_hilbert_curve x t) Filter.atTop (nhds x)&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.check-23120"&gt;#check&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve_exists" data-verso-hover="241"&gt;limit_hilbert_curve_exists&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="doc-comment token" data-binding=""&gt;/--
The real Hilbert converges at each point.
-/&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.example-23203"&gt;example&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.46484" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℝ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;∃&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.46490" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;·&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.46484" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.46490" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-5759284526527228120-23303-23305"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.byTactic-23303" data-verso-hover="19"&gt;by&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-5759284526527228120-23303-23305"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.46484" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∃ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.46829" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.46830" data-verso-hover="1"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.46830" data-verso-hover="1"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.46484" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.46829" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-4444953901561724884-23308-23343"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.apply-23308" data-verso-hover="77"&gt;apply&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-cauchySeq_tendsto_of_complete" data-verso-hover="245"&gt;cauchySeq_tendsto_of_complete&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-4444953901561724884-23308-23343"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-138" checked="checked"&gt;&lt;span for="--verso-unique-138" class="goal-name"&gt;H&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.46484" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-CauchySeq" data-verso-hover="246"&gt;CauchySeq&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.46829" data-verso-hover="1"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.46829" data-verso-hover="1"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.46484" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7-23346-23370"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.exact-23346" data-verso-hover="118"&gt;exact&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normal_is_cauchy" data-verso-hover="247"&gt;normal_is_cauchy&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.46484" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-23346-23370"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;

&lt;/span&gt;&lt;span class="doc-comment token" data-binding=""&gt;/-- Name has a ' to avoid name conflicts. -/&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.noncomputable-23417"&gt;noncomputable&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.definition-23431"&gt;def&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-limit_hilbert_curve'" data-verso-hover="248"&gt;limit_hilbert_curve'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.46830" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℝ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;×&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="const token" data-binding="const-Classical.choose" data-verso-hover="249"&gt;Classical.choose&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve_exists" data-verso-hover="241"&gt;limit_hilbert_curve_exists&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.46830" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;&lt;/span&gt;&lt;/code&gt;&lt;p&gt;
              Many of the remaining difficulties concern the difficulties of computing limits, which appears to have some fundamental complexity. On the technical side, &lt;code&gt;mathlib&lt;/code&gt;'s definition of uniform convergence is extremely general. It uses &lt;a href="https://en.wikipedia.org/wiki/Uniform_space"&gt;"Uniformity Spaces"&lt;/a&gt; (mathlib: &lt;a href="https://leanprover-community.github.io/mathlib4_docs/Mathlib/Topology/UniformSpace/Defs.html"&gt;Mathlib.Topology.UniformSpaces.Defs&lt;/a&gt;). I am luckily familiar enough with topological groups that nothing scared me &lt;em&gt;too&lt;/em&gt; much, since otherwise this might have required more effort to get used to.&lt;/p&gt;
            &lt;p&gt;
              Each of our proofs, such as surjectivity, go through the same sort of steps at this point: (1) choose a really nice sequence that we can evaluate at the interpolated version, (2) choose an even nicer subsequence that converges, and then (3) use unique and uniform convergence to lift it back up to &lt;code&gt;limit_hilbert_curve&lt;/code&gt;.&lt;/p&gt;
            &lt;code class="hl lean block" data-lean-context="openNames"&gt;&lt;span class="has-info info"&gt;&lt;span class="hover-container"&gt;&lt;span class="hover-info messages"&gt;&lt;code class="message info"&gt;HilbertCurve.limit_hilbert_surj_on : Set.SurjOn limit_hilbert_curve (Set.Icc 0 1) (Set.Icc 0 1)&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.check-24477"&gt;#check&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_surj_on" data-verso-hover="250"&gt;limit_hilbert_surj_on&lt;/span&gt;&lt;span class="inter-text"&gt;
/-
The limit touches every point in [0,1]×[0,1]
-/
&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.example-24558"&gt;example&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.SurjOn" data-verso-hover="251"&gt;Set.SurjOn&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="159"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="159"&gt;1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="176"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="176"&gt;1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-14473062288618773492-24632-24634"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.byTactic-24632" data-verso-hover="19"&gt;by&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-14473062288618773492-24632-24634"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Set.SurjOn" data-verso-hover="251"&gt;Set.SurjOn&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-13187446191172388765-24637-24647"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.intro-24637" data-verso-hover="143"&gt;intro&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47070" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47073" data-verso-hover="254"&gt;xy&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-13187446191172388765-24637-24647"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47070" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47073" data-verso-hover="254"&gt;xy&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.47070" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.47070" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="const token" data-binding="const-Set.image" data-verso-hover="256"&gt; '' &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  -- Since [0, 1] is compact, we can lift the approximate norm_hilbert_inv to
  -- a convergent subsequence.
  &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-17419980382358371764-24759-24814"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.tacticHave_-24759" data-verso-hover="74"&gt;have&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-IsCompact" data-verso-hover="257"&gt;IsCompact&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="159"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℝ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="159"&gt;1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-CompactIccSpace.isCompact_Icc" data-verso-hover="258"&gt;isCompact_Icc&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-17419980382358371764-24759-24814"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47070" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47073" data-verso-hover="254"&gt;xy&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.47070" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47443" data-verso-hover="259"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-IsCompact" data-verso-hover="257"&gt;IsCompact&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.47070" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="const token" data-binding="const-Set.image" data-verso-hover="256"&gt; '' &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-5716121590998700459-24817-24917"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.obtain-24817" data-verso-hover="260"&gt;obtain&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;⟨&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47550" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47572" data-verso-hover="261"&gt;th&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47608" data-verso-hover="263"&gt;φh&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47609" data-verso-hover="264"&gt;h&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;⟩&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47443" data-verso-hover="259"&gt;this&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-IsCompact.tendsto_subseq" data-verso-hover="265"&gt;tendsto_subseq&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.norm_hilbert_inv_bounded" data-verso-hover="266"&gt;norm_hilbert_inv_bounded&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;xh&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47073" data-verso-hover="254"&gt;xy&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47070" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-5716121590998700459-24817-24917"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-142" checked="checked"&gt;&lt;span for="--verso-unique-142" class="goal-name"&gt;intro.intro.intro.intro&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47070" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47073" data-verso-hover="254"&gt;xy&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.47070" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47443" data-verso-hover="259"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-IsCompact" data-verso-hover="257"&gt;IsCompact&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47550" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47572" data-verso-hover="261"&gt;th&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.47550" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47608" data-verso-hover="263"&gt;φh&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-StrictMono" data-verso-hover="267"&gt;StrictMono&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47609" data-verso-hover="264"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52982" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.norm_hilbert_inv" data-verso-hover="240"&gt;norm_hilbert_inv&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52982" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47070" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47073" data-verso-hover="254"&gt;xy&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt; ∘ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47550" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.47070" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="const token" data-binding="const-Set.image" data-verso-hover="256"&gt; '' &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-9420535220522959126-24920-24929"&gt;&lt;span class="keyword token" data-binding="kw-occ-Mathlib.Tactic.useSyntax-24920" data-verso-hover="268"&gt;use&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47550" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47572" data-verso-hover="261"&gt;th&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-9420535220522959126-24920-24929"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-143" checked="checked"&gt;&lt;span for="--verso-unique-143" class="goal-name"&gt;right&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47070" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47073" data-verso-hover="254"&gt;xy&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.47070" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47443" data-verso-hover="259"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-IsCompact" data-verso-hover="257"&gt;IsCompact&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47550" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47572" data-verso-hover="261"&gt;th&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.47550" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47608" data-verso-hover="263"&gt;φh&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-StrictMono" data-verso-hover="267"&gt;StrictMono&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47609" data-verso-hover="264"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52982" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.norm_hilbert_inv" data-verso-hover="240"&gt;norm_hilbert_inv&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52982" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47070" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47073" data-verso-hover="254"&gt;xy&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt; ∘ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47550" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47550" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47070" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-12830459038825785264-24932-24974"&gt;&lt;span class="keyword token" data-binding="kw-occ-Mathlib.Tactic.setTactic-24932"&gt;set&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47663" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.fun-24941"&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47661" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;↦&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.norm_hilbert_inv" data-verso-hover="240"&gt;norm_hilbert_inv&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47661" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47070" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47073" data-verso-hover="254"&gt;xy&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-12830459038825785264-24932-24974"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-144" checked="checked"&gt;&lt;span for="--verso-unique-144" class="goal-name"&gt;right&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47070" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47073" data-verso-hover="254"&gt;xy&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.47070" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47443" data-verso-hover="259"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-IsCompact" data-verso-hover="257"&gt;IsCompact&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47550" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47572" data-verso-hover="261"&gt;th&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.47550" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47608" data-verso-hover="263"&gt;φh&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-StrictMono" data-verso-hover="267"&gt;StrictMono&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47663" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52968" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.norm_hilbert_inv" data-verso-hover="240"&gt;norm_hilbert_inv&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52968" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47070" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47073" data-verso-hover="254"&gt;xy&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47712" data-verso-hover="270"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47663" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt; ∘ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47550" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47550" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47070" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  -- Now we use the uniform convergence to show that we the hilbert curve converges
  -- on the subsequence of f to limit_hilbert_curve t
  &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-14642448059884180304-25115-25478"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.tacticHave_-25115" data-verso-hover="74"&gt;have&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.48507" data-verso-hover="271"&gt;h'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.fun-25141"&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47793" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;↦&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47793" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47663" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47793" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47550" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="const token" data-binding="const-TendstoUniformly.tendsto_comp" data-verso-hover="272"&gt;TendstoUniformly.tendsto_comp&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-tendstoUniformly_iff_seq_tendstoUniformly" data-verso-hover="273"&gt;tendstoUniformly_iff_seq_tendstoUniformly&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Iff.mp" data-verso-hover="120"&gt;mp&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve_tendstouniformly" data-verso-hover="274"&gt;limit_hilbert_curve_tendstouniformly&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;span class="inter-text"&gt;
        &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-StrictMono.tendsto_atTop" data-verso-hover="275"&gt;StrictMono.tendsto_atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47608" data-verso-hover="263"&gt;φh&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-Continuous.continuousAt" data-verso-hover="276"&gt;Continuous.continuousAt&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_continuous" data-verso-hover="277"&gt;limit_hilbert_continuous&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47712" data-verso-hover="270"&gt;h&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-14642448059884180304-25115-25478"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-145" checked="checked"&gt;&lt;span for="--verso-unique-145" class="goal-name"&gt;right&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47070" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47073" data-verso-hover="254"&gt;xy&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.47070" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47443" data-verso-hover="259"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-IsCompact" data-verso-hover="257"&gt;IsCompact&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47550" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47572" data-verso-hover="261"&gt;th&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.47550" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47608" data-verso-hover="263"&gt;φh&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-StrictMono" data-verso-hover="267"&gt;StrictMono&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47663" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52968" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.norm_hilbert_inv" data-verso-hover="240"&gt;norm_hilbert_inv&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52968" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47070" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47073" data-verso-hover="254"&gt;xy&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47712" data-verso-hover="270"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47663" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt; ∘ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47550" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.48507" data-verso-hover="271"&gt;h'&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52973" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52973" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47663" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52973" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47550" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47550" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47070" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-11506524138766878370-25481-25509"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.apply-25481" data-verso-hover="77"&gt;apply&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-tendsto_nhds_unique" data-verso-hover="278"&gt;tendsto_nhds_unique&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.48507" data-verso-hover="271"&gt;h'&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-11506524138766878370-25481-25509"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-146" checked="checked"&gt;&lt;span for="--verso-unique-146" class="goal-name"&gt;right&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47070" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47073" data-verso-hover="254"&gt;xy&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.47070" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47443" data-verso-hover="259"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-IsCompact" data-verso-hover="257"&gt;IsCompact&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47550" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47572" data-verso-hover="261"&gt;th&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.47550" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47608" data-verso-hover="263"&gt;φh&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-StrictMono" data-verso-hover="267"&gt;StrictMono&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47663" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52968" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.norm_hilbert_inv" data-verso-hover="240"&gt;norm_hilbert_inv&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52968" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47070" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47073" data-verso-hover="254"&gt;xy&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47712" data-verso-hover="270"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47663" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt; ∘ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47550" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.48507" data-verso-hover="271"&gt;h'&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52973" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52973" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47663" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52973" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47550" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52973" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52973" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47663" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52973" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47070" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  -- Now all that remains is to show that it also converges to x
  &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-5209232398261382428-25577-25733"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.apply-25577" data-verso-hover="77"&gt;apply&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.tendsto_iff_seq_tendsto" data-verso-hover="279"&gt;Filter.tendsto_iff_seq_tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;k&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.fun-25646"&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.49555" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;↦&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.49555" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47663" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.49555" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Iff.mp" data-verso-hover="120"&gt;mp&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;?&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;_&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-StrictMono.tendsto_atTop" data-verso-hover="275"&gt;StrictMono.tendsto_atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47608" data-verso-hover="263"&gt;φh&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-5209232398261382428-25577-25733"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47070" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47073" data-verso-hover="254"&gt;xy&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.47070" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47443" data-verso-hover="259"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-IsCompact" data-verso-hover="257"&gt;IsCompact&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47550" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47572" data-verso-hover="261"&gt;th&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.47550" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47608" data-verso-hover="263"&gt;φh&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-StrictMono" data-verso-hover="267"&gt;StrictMono&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47663" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52968" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.norm_hilbert_inv" data-verso-hover="240"&gt;norm_hilbert_inv&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52968" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47070" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47073" data-verso-hover="254"&gt;xy&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47712" data-verso-hover="270"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47663" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt; ∘ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47550" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.48507" data-verso-hover="271"&gt;h'&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52973" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52973" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47663" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52973" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47550" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52973" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52973" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47663" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52973" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47070" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  -- We can use the bound from the approximate inverse to guarantee convergence.
  &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-12493763637472247232-25817-25851"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.rwSeq-25817" data-verso-hover="32"&gt;rw&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="const token" data-binding="const-tendsto_iff_dist_tendsto_zero" data-verso-hover="280"&gt;tendsto_iff_dist_tendsto_zero&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-12493763637472247232-25817-25851"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47070" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47073" data-verso-hover="254"&gt;xy&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.47070" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47443" data-verso-hover="259"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-IsCompact" data-verso-hover="257"&gt;IsCompact&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47550" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47572" data-verso-hover="261"&gt;th&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.47550" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47608" data-verso-hover="263"&gt;φh&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-StrictMono" data-verso-hover="267"&gt;StrictMono&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47663" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52968" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.norm_hilbert_inv" data-verso-hover="240"&gt;norm_hilbert_inv&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52968" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47070" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47073" data-verso-hover="254"&gt;xy&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47712" data-verso-hover="270"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47663" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt; ∘ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47550" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.48507" data-verso-hover="271"&gt;h'&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52973" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52973" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47663" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52973" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47550" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52973" data-verso-hover="1"&gt;b&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52973" data-verso-hover="1"&gt;b&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47663" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52973" data-verso-hover="1"&gt;b&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47070" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.tacticHave_-25854" data-verso-hover="74"&gt;have&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.fun-25877"&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.49797" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;=&amp;gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="159"&gt;2&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℝ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;^&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.49797" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;⁻¹&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="159"&gt;0&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-14473062288618773492-25933-25935"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.byTactic-25933" data-verso-hover="19"&gt;by&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-14473062288618773492-25933-25935"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Set.SurjOn" data-verso-hover="251"&gt;Set.SurjOn&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-3351903823516565446-25940-26025"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.rwSeq-25940" data-verso-hover="32"&gt;rw&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.show-25944"&gt;show&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.fun-25950"&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.50303" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;↦&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="159"&gt;2&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℝ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;^&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.50303" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;⁻¹&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.fun-25982"&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.50367" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;↦&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="159"&gt;2&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℝ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;⁻¹&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;^&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.50367" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.byTactic'-26011"&gt;by&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.simp-26020" data-verso-hover="31"&gt;simp&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-3351903823516565446-25940-26025"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47070" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47073" data-verso-hover="254"&gt;xy&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.47070" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47443" data-verso-hover="259"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-IsCompact" data-verso-hover="257"&gt;IsCompact&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47550" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47572" data-verso-hover="261"&gt;th&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.47550" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47608" data-verso-hover="263"&gt;φh&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-StrictMono" data-verso-hover="267"&gt;StrictMono&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47663" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52968" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.norm_hilbert_inv" data-verso-hover="240"&gt;norm_hilbert_inv&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52968" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47070" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47073" data-verso-hover="254"&gt;xy&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47712" data-verso-hover="270"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47663" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt; ∘ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47550" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.48507" data-verso-hover="271"&gt;h'&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52973" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52973" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47663" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52973" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47550" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52974" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52974" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-6376306760105619926-26030-26077"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.apply-26030" data-verso-hover="77"&gt;apply&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-tendsto_pow_atTop_nhds_zero_of_abs_lt_one" data-verso-hover="281"&gt;tendsto_pow_atTop_nhds_zero_of_abs_lt_one&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-6376306760105619926-26030-26077"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-151" checked="checked"&gt;&lt;span for="--verso-unique-151" class="goal-name"&gt;h&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47070" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47073" data-verso-hover="254"&gt;xy&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.47070" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47443" data-verso-hover="259"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-IsCompact" data-verso-hover="257"&gt;IsCompact&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47550" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47572" data-verso-hover="261"&gt;th&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.47550" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47608" data-verso-hover="263"&gt;φh&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-StrictMono" data-verso-hover="267"&gt;StrictMono&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47663" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52968" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.norm_hilbert_inv" data-verso-hover="240"&gt;norm_hilbert_inv&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52968" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47070" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47073" data-verso-hover="254"&gt;xy&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47712" data-verso-hover="270"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47663" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt; ∘ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47550" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.48507" data-verso-hover="271"&gt;h'&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52973" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52973" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47663" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52973" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47550" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-abs" data-verso-hover="282"&gt;|&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;span class="const token" data-binding="const-abs" data-verso-hover="282"&gt;|&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-14184739445252456339-26082-26090"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.rwSeq-26082" data-verso-hover="32"&gt;rw&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="const token" data-binding="const-abs" data-verso-hover="282"&gt;abs&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-14184739445252456339-26082-26090"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-152" checked="checked"&gt;&lt;span for="--verso-unique-152" class="goal-name"&gt;h&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47070" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47073" data-verso-hover="254"&gt;xy&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.47070" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47443" data-verso-hover="259"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-IsCompact" data-verso-hover="257"&gt;IsCompact&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47550" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47572" data-verso-hover="261"&gt;th&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.47550" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47608" data-verso-hover="263"&gt;φh&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-StrictMono" data-verso-hover="267"&gt;StrictMono&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47663" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52968" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.norm_hilbert_inv" data-verso-hover="240"&gt;norm_hilbert_inv&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52968" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47070" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47073" data-verso-hover="254"&gt;xy&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47712" data-verso-hover="270"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47663" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt; ∘ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47550" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.48507" data-verso-hover="271"&gt;h'&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52973" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52973" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47663" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52973" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47550" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Max.max" data-verso-hover="283"&gt;max&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Neg.neg" data-verso-hover="30"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-Neg.neg" data-verso-hover="30"&gt;-&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;span class="const token" data-binding="const-Neg.neg" data-verso-hover="30"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7-26095-26103"&gt;&lt;span class="keyword token" data-binding="kw-occ-Mathlib.Tactic.normNum-26095" data-verso-hover="230"&gt;norm_num&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-26095-26103"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-14429340537233195034-26106-26161"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.apply-26106" data-verso-hover="77"&gt;apply&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-squeeze_zero" data-verso-hover="284"&gt;squeeze_zero&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.fun-26126"&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52530" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;↦&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-dist_nonneg" data-verso-hover="285"&gt;dist_nonneg&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;g0&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.50296" data-verso-hover="286"&gt;this&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-14429340537233195034-26106-26161"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47070" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47073" data-verso-hover="254"&gt;xy&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.47070" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47443" data-verso-hover="259"&gt;this✝&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-IsCompact" data-verso-hover="257"&gt;IsCompact&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47550" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47572" data-verso-hover="261"&gt;th&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.47550" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47608" data-verso-hover="263"&gt;φh&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-StrictMono" data-verso-hover="267"&gt;StrictMono&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47663" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52968" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.norm_hilbert_inv" data-verso-hover="240"&gt;norm_hilbert_inv&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52968" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47070" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47073" data-verso-hover="254"&gt;xy&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47712" data-verso-hover="270"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47663" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt; ∘ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47550" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.48507" data-verso-hover="271"&gt;h'&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52973" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52973" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47663" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52973" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47550" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.50296" data-verso-hover="286"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52974" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52974" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ (&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52968" data-verso-hover="1"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt; : &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt;), &lt;/span&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52968" data-verso-hover="1"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47663" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52968" data-verso-hover="1"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47070" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52968" data-verso-hover="1"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-14534788524968450578-26164-26171"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.intro-26164" data-verso-hover="143"&gt;intro&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52782" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-14534788524968450578-26164-26171"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47070" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47073" data-verso-hover="254"&gt;xy&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.47070" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47443" data-verso-hover="259"&gt;this✝&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-IsCompact" data-verso-hover="257"&gt;IsCompact&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47550" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47572" data-verso-hover="261"&gt;th&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.47550" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47608" data-verso-hover="263"&gt;φh&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-StrictMono" data-verso-hover="267"&gt;StrictMono&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47663" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52968" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.norm_hilbert_inv" data-verso-hover="240"&gt;norm_hilbert_inv&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52968" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47070" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47073" data-verso-hover="254"&gt;xy&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47712" data-verso-hover="270"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47663" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt; ∘ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47550" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.48507" data-verso-hover="271"&gt;h'&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52973" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52973" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47663" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52973" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47550" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.50296" data-verso-hover="286"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52974" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52974" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.52782" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52782" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47663" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52782" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47070" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52782" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-10538069223819617966-26174-26188"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.rwSeq-26174" data-verso-hover="32"&gt;rw&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="const token" data-binding="const-dist_comm" data-verso-hover="207"&gt;dist_comm&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-10538069223819617966-26174-26188"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47070" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47073" data-verso-hover="254"&gt;xy&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.47070" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47443" data-verso-hover="259"&gt;this✝&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-IsCompact" data-verso-hover="257"&gt;IsCompact&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47550" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47572" data-verso-hover="261"&gt;th&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.47550" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47608" data-verso-hover="263"&gt;φh&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-StrictMono" data-verso-hover="267"&gt;StrictMono&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47663" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52968" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.norm_hilbert_inv" data-verso-hover="240"&gt;norm_hilbert_inv&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52968" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47070" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47073" data-verso-hover="254"&gt;xy&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.47712" data-verso-hover="270"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47663" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt; ∘ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;span class="const token" data-binding="const-Function.comp" data-verso-hover="189"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47550" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.48507" data-verso-hover="271"&gt;h'&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52973" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52973" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47663" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47590" data-verso-hover="262"&gt;φ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52973" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47550" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.50296" data-verso-hover="286"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52974" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52974" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.52782" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Dist.dist" data-verso-hover="202"&gt;dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47070" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52782" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47663" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52782" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt; ^ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52782" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="25"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7-26191-26225"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.exact-26191" data-verso-hover="118"&gt;exact&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.norm_hilbert_inv_dist" data-verso-hover="287"&gt;norm_hilbert_inv_dist&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52782" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47070" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.47073" data-verso-hover="254"&gt;xy&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-26191-26225"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;&lt;/span&gt;&lt;/code&gt;&lt;p&gt;
              For the symmetries, we use uniform continuity of transformations to preserve uniform convergence. To get uniform continuity of each transformation, there's some new definitions, plus some little lemmas I defined to get &lt;code&gt;AffineMap.toContinuousAffineMap&lt;/code&gt; for finite-dimensional spaces and &lt;code&gt;ContinuousAffineMap.uniformContinuous&lt;/code&gt;.&lt;/p&gt;
            &lt;code class="hl lean block" data-lean-context="notOpen"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.noncomputable-26576"&gt;noncomputable&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.definition-26590"&gt;def&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-T3_real" data-verso-hover="288"&gt;T3_real&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.104696" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℕ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;×&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→ᴬ[&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℝ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;×&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.let-26653" data-verso-hover="58"&gt;let&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.106717" data-verso-hover="289"&gt;id&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-LinearMap.id" data-verso-hover="290"&gt;LinearMap.id&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;M&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;×&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℝ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;R&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℝ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.let-26709" data-verso-hover="58"&gt;let&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.107726" data-verso-hover="289"&gt;post&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="159"&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;/&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="159"&gt;2&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;^&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.104696" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;+&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℝ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;•&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.106717" data-verso-hover="289"&gt;id&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.let-26752" data-verso-hover="58"&gt;let&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.108112" data-verso-hover="289"&gt;pre&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="159"&gt;2&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;^&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.104696" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℝ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;•&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.106717" data-verso-hover="289"&gt;id&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="const token" data-binding="const-AffineMap.toContinuousAffineMap" data-verso-hover="291"&gt;AffineMap.toContinuousAffineMap&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;&amp;lt;|&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.107726" data-verso-hover="289"&gt;post&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-LinearMap.toAffineMap" data-verso-hover="292"&gt;toAffineMap&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-AffineMap.comp" data-verso-hover="293"&gt;comp&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-T3" data-verso-hover="12"&gt;T3&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.104696" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-AffineMap.comp" data-verso-hover="293"&gt;comp&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.108112" data-verso-hover="289"&gt;pre&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-LinearMap.toAffineMap" data-verso-hover="292"&gt;toAffineMap&lt;/span&gt;&lt;span class="inter-text"&gt;

&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.noncomputable-26880"&gt;noncomputable&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.definition-26894"&gt;def&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-T3_real_lim" data-verso-hover="294"&gt;T3_real_lim&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;×&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→ᴬ[&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℝ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;×&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="const token" data-binding="const-AffineMap.toContinuousAffineMap" data-verso-hover="291"&gt;AffineMap.toContinuousAffineMap&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;{&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="const token" data-binding="const-AffineMap.toFun" data-verso-hover="295"&gt;toFun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.fun-26998"&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.115689" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;↦&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="159"&gt;1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="159"&gt;1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;/&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="159"&gt;2&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℝ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;-&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="159"&gt;1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;/&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="159"&gt;2&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℝ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;•&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.115689" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.swap" data-verso-hover="3"&gt;swap&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="const token" data-binding="const-AffineMap.linear" data-verso-hover="296"&gt;linear&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;-&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="159"&gt;1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;/&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="159"&gt;2&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℝ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;•&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;{&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="const token" data-binding="const-AddHom.toFun" data-verso-hover="175"&gt;toFun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.swap" data-verso-hover="3"&gt;Prod.swap&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="const token" data-binding="const-AddHom.map_add'" data-verso-hover="297"&gt;map_add'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-13230494079702901467-27126-27128"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.byTactic-27126" data-verso-hover="19"&gt;by&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-13230494079702901467-27126-27128"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.104691" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="sort token" data-binding="" data-verso-hover="20"&gt;Type u_1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.111743" data-verso-hover="21"&gt;inst✝&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Ring" data-verso-hover="11"&gt;Ring&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.104691" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ (&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.126725" data-verso-hover="176"&gt;x &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.126726" data-verso-hover="176"&gt;y&lt;/span&gt;&lt;span class="inter-text"&gt; : &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt;), &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.126725" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.126726" data-verso-hover="176"&gt;y&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.swap" data-verso-hover="3"&gt;swap&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.126725" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.swap" data-verso-hover="3"&gt;swap&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.126726" data-verso-hover="176"&gt;y&lt;/span&gt;&lt;span class="inter-text"&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.swap" data-verso-hover="3"&gt;swap&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7-27129-27133"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.simp-27129" data-verso-hover="31"&gt;simp&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-27129-27133"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="const token" data-binding="const-LinearMap.map_smul'" data-verso-hover="298"&gt;map_smul'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-12431424656637688392-27153-27155"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.byTactic-27153" data-verso-hover="19"&gt;by&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-12431424656637688392-27153-27155"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.104691" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="sort token" data-binding="" data-verso-hover="20"&gt;Type u_1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.111743" data-verso-hover="21"&gt;inst✝&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Ring" data-verso-hover="11"&gt;Ring&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.104691" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ (&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.126725" data-verso-hover="159"&gt;m&lt;/span&gt;&lt;span class="inter-text"&gt; : &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt;) (&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.126726" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt; : &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt;), &lt;/span&gt;&lt;span class="const token" data-binding="const-HSMul.hSMul" data-verso-hover="179"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.126725" data-verso-hover="159"&gt;m&lt;/span&gt;&lt;span class="const token" data-binding="const-HSMul.hSMul" data-verso-hover="179"&gt; • &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.126726" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;span class="const token" data-binding="const-HSMul.hSMul" data-verso-hover="179"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.swap" data-verso-hover="3"&gt;swap&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-RingHom.id" data-verso-hover="181"&gt;RingHom.id&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.126725" data-verso-hover="159"&gt;m&lt;/span&gt;&lt;span class="const token" data-binding="const-HSMul.hSMul" data-verso-hover="179"&gt; • &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.126726" data-verso-hover="176"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.swap" data-verso-hover="3"&gt;swap&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7-27156-27160"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.simp-27156" data-verso-hover="31"&gt;simp&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-27156-27160"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;}&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="const token" data-binding="const-AffineMap.map_vadd'" data-verso-hover="299"&gt;map_vadd'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.117004" data-verso-hover="176"&gt;p&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.117007" data-verso-hover="176"&gt;v&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-14544429572991966952-27188-27190"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.byTactic-27188" data-verso-hover="19"&gt;by&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-14544429572991966952-27188-27190"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.104691" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="sort token" data-binding="" data-verso-hover="20"&gt;Type u_1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.111743" data-verso-hover="21"&gt;inst✝&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Ring" data-verso-hover="11"&gt;Ring&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.104691" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.117004" data-verso-hover="176"&gt;p&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.117007" data-verso-hover="176"&gt;v&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HSMul.hSMul" data-verso-hover="179"&gt; • &lt;/span&gt;&lt;span class="const token" data-binding="const-HVAdd.hVAdd" data-verso-hover="28"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.117007" data-verso-hover="176"&gt;v&lt;/span&gt;&lt;span class="const token" data-binding="const-HVAdd.hVAdd" data-verso-hover="28"&gt; +ᵥ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.117004" data-verso-hover="176"&gt;p&lt;/span&gt;&lt;span class="const token" data-binding="const-HVAdd.hVAdd" data-verso-hover="28"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.swap" data-verso-hover="3"&gt;swap&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; =
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HSMul.hSMul" data-verso-hover="179"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-Neg.neg" data-verso-hover="30"&gt;-&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HSMul.hSMul" data-verso-hover="179"&gt; • &lt;/span&gt;&lt;span class="const token" data-binding="const-LinearMap.mk" data-verso-hover="300"&gt;{ &lt;/span&gt;&lt;span class="const token" data-binding="const-AddHom.toFun" data-verso-hover="175"&gt;toFun&lt;/span&gt;&lt;span class="const token" data-binding="const-LinearMap.mk" data-verso-hover="300"&gt; := &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.swap" data-verso-hover="3"&gt;Prod.swap&lt;/span&gt;&lt;span class="const token" data-binding="const-LinearMap.mk" data-verso-hover="300"&gt;, &lt;/span&gt;&lt;span class="const token" data-binding="const-AddHom.map_add'" data-verso-hover="297"&gt;map_add'&lt;/span&gt;&lt;span class="const token" data-binding="const-LinearMap.mk" data-verso-hover="300"&gt; := &lt;/span&gt;&lt;span class="inter-text"&gt;?m.117106&lt;/span&gt;&lt;span class="const token" data-binding="const-LinearMap.mk" data-verso-hover="300"&gt;, &lt;/span&gt;&lt;span class="const token" data-binding="const-LinearMap.map_smul'" data-verso-hover="298"&gt;map_smul'&lt;/span&gt;&lt;span class="const token" data-binding="const-LinearMap.mk" data-verso-hover="300"&gt; := &lt;/span&gt;&lt;span class="inter-text"&gt;?m.117116&lt;/span&gt;&lt;span class="const token" data-binding="const-LinearMap.mk" data-verso-hover="300"&gt; }&lt;/span&gt;&lt;span class="const token" data-binding="const-HSMul.hSMul" data-verso-hover="179"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.117007" data-verso-hover="176"&gt;v&lt;/span&gt;&lt;span class="const token" data-binding="const-HVAdd.hVAdd" data-verso-hover="28"&gt; +ᵥ &lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HSMul.hSMul" data-verso-hover="179"&gt; • &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.117004" data-verso-hover="176"&gt;p&lt;/span&gt;&lt;span class="inter-text"&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.swap" data-verso-hover="3"&gt;swap&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7531402229129463136-27197-27201"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.simp-27197" data-verso-hover="31"&gt;simp&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7531402229129463136-27197-27201"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.104691" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="sort token" data-binding="" data-verso-hover="20"&gt;Type u_1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.111743" data-verso-hover="21"&gt;inst✝&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Ring" data-verso-hover="11"&gt;Ring&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.104691" data-verso-hover="9"&gt;R&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.117004" data-verso-hover="176"&gt;p&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.117007" data-verso-hover="176"&gt;v&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod" data-verso-hover="23"&gt; × &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;span class="const token" data-binding="const-HSMul.hSMul" data-verso-hover="179"&gt; • &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.117007" data-verso-hover="176"&gt;v&lt;/span&gt;&lt;span class="inter-text"&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.swap" data-verso-hover="3"&gt;swap&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;span class="const token" data-binding="const-HSMul.hSMul" data-verso-hover="179"&gt; • &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.117004" data-verso-hover="176"&gt;p&lt;/span&gt;&lt;span class="inter-text"&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.swap" data-verso-hover="3"&gt;swap&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-Neg.neg" data-verso-hover="30"&gt;-&lt;/span&gt;&lt;span class="const token" data-binding="const-HSMul.hSMul" data-verso-hover="179"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;span class="const token" data-binding="const-HSMul.hSMul" data-verso-hover="179"&gt; • &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.117007" data-verso-hover="176"&gt;v&lt;/span&gt;&lt;span class="inter-text"&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.swap" data-verso-hover="3"&gt;swap&lt;/span&gt;&lt;span class="const token" data-binding="const-HSMul.hSMul" data-verso-hover="179"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.mk" data-verso-hover="24"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;2&lt;/span&gt;&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="191"&gt;⁻¹&lt;/span&gt;&lt;span class="const token" data-binding="const-HSMul.hSMul" data-verso-hover="179"&gt; • &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.117004" data-verso-hover="176"&gt;p&lt;/span&gt;&lt;span class="inter-text"&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Prod.swap" data-verso-hover="3"&gt;swap&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7-27208-27215"&gt;&lt;span class="keyword token" data-binding="kw-occ-Mathlib.Tactic.RingNF.ringNF-27208" data-verso-hover="182"&gt;ring_nf&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-27208-27215"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;}&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;&lt;/span&gt;&lt;/code&gt;&lt;p&gt;
              After I formalized this, I suspect there is a better method that uses convergence on &lt;code class="math inline"&gt;\top \times \mathcal{N}(x)&lt;/code&gt; instead of uniform convergence, since uniform convergence isn't very compositional, whereas continuity on a product filter is more compositional. I have not pursued this properly.&lt;/p&gt;
            &lt;p&gt;
              The symmetry properties end up involving some annoying calculation to pick the appropriate &lt;code class="math inline"&gt;t_i&lt;/code&gt; so we stay within a quadrant.&lt;/p&gt;
            &lt;code class="hl lean block" data-lean-context="notOpen"&gt;&lt;span class="keyword token" data-binding="kw-occ-group-27729"&gt;lemma&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="has-info warning"&gt;&lt;span class="hover-container"&gt;&lt;span class="hover-info messages"&gt;&lt;code class="message warning"&gt;declaration uses 'sorry'&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="const token" data-binding="const-sequence_exists" data-verso-hover="301"&gt;sequence_exists&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.126731" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℝ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.126733" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℕ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.127849" data-verso-hover="302"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.126733" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;/&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="159"&gt;4&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;≤&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.126731" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.128019" data-verso-hover="303"&gt;h'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.126731" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;≤&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.126733" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;+&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="159"&gt;1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;/&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="159"&gt;4&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
 &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;∃&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.128026" data-verso-hover="262"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;→&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℕ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.fun-27847"&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.128034" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;↦&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.128026" data-verso-hover="262"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.128034" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℝ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;/&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-hilbert_length" data-verso-hover="0"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.128034" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.126731" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;∧&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;∀&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.128304" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;≥&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.126733" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;*&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-hilbert_length" data-verso-hover="0"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.128304" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;≤&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;4&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;*&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.128026" data-verso-hover="262"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.128304" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;∧&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;4&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;*&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.128026" data-verso-hover="262"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.128304" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;&amp;lt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.126733" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;+&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;*&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-hilbert_length" data-verso-hover="0"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.128304" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-724081113619609710-28002-28004"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.byTactic-28002" data-verso-hover="19"&gt;by&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-724081113619609710-28002-28004"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.126731" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.126733" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.127849" data-verso-hover="302"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.126733" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.126731" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.128019" data-verso-hover="303"&gt;h'&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.126731" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.126733" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∃ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.128818" data-verso-hover="262"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt;,
  &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.128825" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.128818" data-verso-hover="262"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.128825" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-hilbert_length" data-verso-hover="0"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.128825" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.126731" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-And" data-verso-hover="125"&gt; ∧
    &lt;/span&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.128829" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; ≥ &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.126733" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-hilbert_length" data-verso-hover="0"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.128829" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.128818" data-verso-hover="262"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.128829" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-And" data-verso-hover="125"&gt; ∧ &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.128818" data-verso-hover="262"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.128829" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.126733" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-hilbert_length" data-verso-hover="0"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.128829" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7-28007-28012"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.tacticSorry-28007" data-verso-hover="82"&gt;sorry&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-28007-28012"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt; -- it's very long :'(
&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;&lt;/span&gt;&lt;/code&gt;&lt;p&gt;
              Once we have a bunch of these lemmas for the right sequence and the extra uniform convergence and uniform continuity theorems, we can proceed with stitching it altogether:&lt;/p&gt;
            &lt;code class="hl lean block" data-lean-context="openNames"&gt;&lt;span class="has-info info"&gt;&lt;span class="hover-container"&gt;&lt;span class="hover-info messages"&gt;&lt;code class="message info"&gt;HilbertCurve.limit_hilbert_recurse_bottom_right (t : ℝ) (h : t ∈ Set.Icc (3 / 4) 1) :
  limit_hilbert_curve t = T3_real_lim (limit_hilbert_curve (4 * t - 3))&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.check-28231"&gt;#check&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_recurse_bottom_right" data-verso-hover="304"&gt;limit_hilbert_recurse_bottom_right&lt;/span&gt;&lt;span class="inter-text"&gt;
/-
The hilbert curve is a fractal just like its construction, i.e.
it can be broken up into 4 copies of itself.
-/
&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.example-28388"&gt;example&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℝ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.53274" data-verso-hover="305"&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;∈&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="159"&gt;3&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;/&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="159"&gt;4&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="159"&gt;1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_real_lim" data-verso-hover="306"&gt;T3_real_lim&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="159"&gt;4&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;*&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;-&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="159"&gt;3&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-10955460886087369008-28509-28511"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.byTactic-28509" data-verso-hover="19"&gt;by&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-10955460886087369008-28509-28511"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.53274" data-verso-hover="305"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="inter-text"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_real_lim" data-verso-hover="306"&gt;T3_real_lim&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.rcases-28514" data-verso-hover="104"&gt;rcases&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.sequence_exists" data-verso-hover="307"&gt;sequence_exists&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;3&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-13545419896518926888-28543-28545"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.byTactic-28543" data-verso-hover="19"&gt;by&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-13545419896518926888-28543-28545"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.53274" data-verso-hover="305"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="inter-text"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7-28546-28560"&gt;&lt;span class="keyword token" data-binding="kw-occ-Mathlib.Tactic.linarith-28546" data-verso-hover="238"&gt;linarith&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.53274" data-verso-hover="305"&gt;h&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-28546-28560"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-12100512363073430209-28563-28565"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.byTactic-28563" data-verso-hover="19"&gt;by&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-12100512363073430209-28563-28565"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.53274" data-verso-hover="305"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="inter-text"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7-28566-28580"&gt;&lt;span class="keyword token" data-binding="kw-occ-Mathlib.Tactic.linarith-28566" data-verso-hover="238"&gt;linarith&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.53274" data-verso-hover="305"&gt;h&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;2&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-28566-28580"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-null-28587"&gt;with&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;⟨&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56669" data-verso-hover="308"&gt;f_tendsto&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;,&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56670" data-verso-hover="309"&gt;hf2&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;⟩&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-6299173621966113954-28621-28683"&gt;&lt;span class="keyword token" data-binding="kw-occ-Mathlib.Tactic.setTactic-28621"&gt;set&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.fun-28630"&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56675" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;=&amp;gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56675" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;/&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56675" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℝ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-null-28673"&gt;with&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57870" data-verso-hover="310"&gt;f_def&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-6299173621966113954-28621-28683"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-164" checked="checked"&gt;&lt;span for="--verso-unique-164" class="goal-name"&gt;intro.intro&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.53274" data-verso-hover="305"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="inter-text"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.56670" data-verso-hover="309"&gt;hf2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; ≥ &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-And" data-verso-hover="125"&gt; ∧ &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57826" data-verso-hover="311"&gt;f_tendsto&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57870" data-verso-hover="310"&gt;f_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_real_lim" data-verso-hover="306"&gt;T3_real_lim&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.tacticHave_-28686" data-verso-hover="74"&gt;have&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.58135" data-verso-hover="312"&gt;lhs_tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.fun-28725"&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57880" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;↦&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57880" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57880" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-10955460886087369008-28830-28832"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.byTactic-28830" data-verso-hover="19"&gt;by&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-10955460886087369008-28830-28832"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.53274" data-verso-hover="305"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="inter-text"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_real_lim" data-verso-hover="306"&gt;T3_real_lim&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-6047030674305956148-28837-28890"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.apply-28837" data-verso-hover="77"&gt;apply&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-TendstoUniformly.tendsto_comp" data-verso-hover="272"&gt;TendstoUniformly.tendsto_comp&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;hg&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57826" data-verso-hover="311"&gt;f_tendsto&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-6047030674305956148-28837-28890"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-166" checked="checked"&gt;&lt;span for="--verso-unique-166" class="goal-name"&gt;h&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.53274" data-verso-hover="305"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="inter-text"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.56670" data-verso-hover="309"&gt;hf2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; ≥ &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-And" data-verso-hover="125"&gt; ∧ &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57826" data-verso-hover="311"&gt;f_tendsto&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57870" data-verso-hover="310"&gt;f_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-TendstoUniformly" data-verso-hover="313"&gt;TendstoUniformly&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74502" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74502" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-167"&gt;&lt;span for="--verso-unique-167" class="goal-name"&gt;hf&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.53274" data-verso-hover="305"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="inter-text"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.56670" data-verso-hover="309"&gt;hf2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; ≥ &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-And" data-verso-hover="125"&gt; ∧ &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57826" data-verso-hover="311"&gt;f_tendsto&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57870" data-verso-hover="310"&gt;f_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-ContinuousAt" data-verso-hover="314"&gt;ContinuousAt&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-15708850359221729293-28895-28897"&gt;&lt;span class="unknown token" data-binding=""&gt;·&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-15708850359221729293-28895-28897"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-168" checked="checked"&gt;&lt;span for="--verso-unique-168" class="goal-name"&gt;h&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.53274" data-verso-hover="305"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="inter-text"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.56670" data-verso-hover="309"&gt;hf2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; ≥ &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-And" data-verso-hover="125"&gt; ∧ &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57826" data-verso-hover="311"&gt;f_tendsto&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57870" data-verso-hover="310"&gt;f_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-TendstoUniformly" data-verso-hover="313"&gt;TendstoUniformly&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74502" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74502" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-1177438990076302150-28898-28993"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.apply-28898" data-verso-hover="77"&gt;apply&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-tendstoUniformly_iff_seq_tendstoUniformly" data-verso-hover="273"&gt;tendstoUniformly_iff_seq_tendstoUniformly&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Iff.mp" data-verso-hover="120"&gt;mp&lt;/span&gt;&lt;span class="inter-text"&gt;
        &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve_tendstouniformly" data-verso-hover="274"&gt;limit_hilbert_curve_tendstouniformly&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-1177438990076302150-28898-28993"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-169" checked="checked"&gt;&lt;span for="--verso-unique-169" class="goal-name"&gt;h.a&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.53274" data-verso-hover="305"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="inter-text"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.56670" data-verso-hover="309"&gt;hf2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; ≥ &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-And" data-verso-hover="125"&gt; ∧ &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57826" data-verso-hover="311"&gt;f_tendsto&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57870" data-verso-hover="310"&gt;f_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74508" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74508" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7-29000-29036"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.exact-29000" data-verso-hover="118"&gt;exact&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.tendsto_add_atTop_nat" data-verso-hover="315"&gt;Filter.tendsto_add_atTop_nat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;1&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-29000-29036"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7-29041-29084"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.exact-29041" data-verso-hover="118"&gt;exact&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_continuous" data-verso-hover="277"&gt;limit_hilbert_continuous&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Continuous.continuousAt" data-verso-hover="276"&gt;continuousAt&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-29041-29084"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.tacticHave_-29087" data-verso-hover="74"&gt;have&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.60196" data-verso-hover="316"&gt;rhs_tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.fun-29126"&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.59479" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;↦&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_real" data-verso-hover="317"&gt;T3_real&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.59479" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.59479" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="159"&gt;4&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;*&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.59479" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;-&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="159"&gt;3&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_real_lim" data-verso-hover="306"&gt;T3_real_lim&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="159"&gt;4&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;*&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;-&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="159"&gt;3&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-10955460886087369008-29267-29269"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.byTactic-29267" data-verso-hover="19"&gt;by&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-10955460886087369008-29267-29269"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.53274" data-verso-hover="305"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="inter-text"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_real_lim" data-verso-hover="306"&gt;T3_real_lim&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.tacticHave_-29274" data-verso-hover="74"&gt;have&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.fun-29297"&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.60206" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;↦&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.60206" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="159"&gt;4&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;*&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.60206" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;-&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="159"&gt;3&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="159"&gt;4&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;*&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;-&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="159"&gt;3&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-10955460886087369008-29418-29420"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.byTactic-29418" data-verso-hover="19"&gt;by&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-10955460886087369008-29418-29420"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.53274" data-verso-hover="305"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="inter-text"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_real_lim" data-verso-hover="306"&gt;T3_real_lim&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-9012802696034963400-29427-29462"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.apply-29427" data-verso-hover="77"&gt;apply&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-TendstoUniformly.tendsto_comp" data-verso-hover="272"&gt;TendstoUniformly.tendsto_comp&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-9012802696034963400-29427-29462"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-172" checked="checked"&gt;&lt;span for="--verso-unique-172" class="goal-name"&gt;h&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.53274" data-verso-hover="305"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="inter-text"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.56670" data-verso-hover="309"&gt;hf2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; ≥ &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-And" data-verso-hover="125"&gt; ∧ &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57826" data-verso-hover="311"&gt;f_tendsto&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57870" data-verso-hover="310"&gt;f_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.58135" data-verso-hover="312"&gt;lhs_tendsto&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-TendstoUniformly" data-verso-hover="313"&gt;TendstoUniformly&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-173"&gt;&lt;span for="--verso-unique-173" class="goal-name"&gt;hf&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.53274" data-verso-hover="305"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="inter-text"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.56670" data-verso-hover="309"&gt;hf2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; ≥ &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-And" data-verso-hover="125"&gt; ∧ &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57826" data-verso-hover="311"&gt;f_tendsto&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57870" data-verso-hover="310"&gt;f_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.58135" data-verso-hover="312"&gt;lhs_tendsto&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-ContinuousAt" data-verso-hover="314"&gt;ContinuousAt&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-174"&gt;&lt;span for="--verso-unique-174" class="goal-name"&gt;hg&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.53274" data-verso-hover="305"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="inter-text"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.56670" data-verso-hover="309"&gt;hf2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; ≥ &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-And" data-verso-hover="125"&gt; ∧ &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57826" data-verso-hover="311"&gt;f_tendsto&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57870" data-verso-hover="310"&gt;f_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.58135" data-verso-hover="312"&gt;lhs_tendsto&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74508" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74508" data-verso-hover="1"&gt;n&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-760795059795108877-29469-29471"&gt;&lt;span class="unknown token" data-binding=""&gt;·&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-760795059795108877-29469-29471"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-175" checked="checked"&gt;&lt;span for="--verso-unique-175" class="goal-name"&gt;h&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.53274" data-verso-hover="305"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="inter-text"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.56670" data-verso-hover="309"&gt;hf2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; ≥ &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-And" data-verso-hover="125"&gt; ∧ &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57826" data-verso-hover="311"&gt;f_tendsto&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57870" data-verso-hover="310"&gt;f_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.58135" data-verso-hover="312"&gt;lhs_tendsto&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-TendstoUniformly" data-verso-hover="313"&gt;TendstoUniformly&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7-29472-29514"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.exact-29472" data-verso-hover="118"&gt;exact&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve_tendstouniformly" data-verso-hover="274"&gt;limit_hilbert_curve_tendstouniformly&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-29472-29514"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-10966526904317808207-29521-29523"&gt;&lt;span class="unknown token" data-binding=""&gt;·&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-10966526904317808207-29521-29523"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-176" checked="checked"&gt;&lt;span for="--verso-unique-176" class="goal-name"&gt;hf&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.53274" data-verso-hover="305"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="inter-text"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.56670" data-verso-hover="309"&gt;hf2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; ≥ &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-And" data-verso-hover="125"&gt; ∧ &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57826" data-verso-hover="311"&gt;f_tendsto&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57870" data-verso-hover="310"&gt;f_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.58135" data-verso-hover="312"&gt;lhs_tendsto&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-ContinuousAt" data-verso-hover="314"&gt;ContinuousAt&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7-29524-29578"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.exact-29524" data-verso-hover="118"&gt;exact&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Continuous.continuousAt" data-verso-hover="276"&gt;Continuous.continuousAt&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_continuous" data-verso-hover="277"&gt;limit_hilbert_continuous&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-29524-29578"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-12296053994680210377-29585-29615"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.apply-29585" data-verso-hover="77"&gt;apply&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto.sub_const" data-verso-hover="318"&gt;Filter.Tendsto.sub_const&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-12296053994680210377-29585-29615"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-177" checked="checked"&gt;&lt;span for="--verso-unique-177" class="goal-name"&gt;hg.h&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.53274" data-verso-hover="305"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="inter-text"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.56670" data-verso-hover="309"&gt;hf2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; ≥ &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-And" data-verso-hover="125"&gt; ∧ &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57826" data-verso-hover="311"&gt;f_tendsto&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57870" data-verso-hover="310"&gt;f_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.58135" data-verso-hover="312"&gt;lhs_tendsto&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74508" data-verso-hover="1"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74508" data-verso-hover="1"&gt;x&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-15717949468544542400-29622-29652"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.apply-29622" data-verso-hover="77"&gt;apply&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto.const_mul" data-verso-hover="319"&gt;Filter.Tendsto.const_mul&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-15717949468544542400-29622-29652"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-178" checked="checked"&gt;&lt;span for="--verso-unique-178" class="goal-name"&gt;hg.h.h&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.53274" data-verso-hover="305"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="inter-text"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.56670" data-verso-hover="309"&gt;hf2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; ≥ &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-And" data-verso-hover="125"&gt; ∧ &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57826" data-verso-hover="311"&gt;f_tendsto&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57870" data-verso-hover="310"&gt;f_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.58135" data-verso-hover="312"&gt;lhs_tendsto&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;k&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;k&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7-29659-29674"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.exact-29659" data-verso-hover="118"&gt;exact&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57826" data-verso-hover="311"&gt;f_tendsto&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-29659-29674"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7-29679-29890"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.apply-29679" data-verso-hover="77"&gt;apply&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-TendstoUniformly.tendsto_comp" data-verso-hover="272"&gt;TendstoUniformly.tendsto_comp&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;hf&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_real_lim" data-verso-hover="306"&gt;T3_real_lim&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-ContinuousAffineMap.continuous" data-verso-hover="320"&gt;continuous&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Continuous.continuousAt" data-verso-hover="276"&gt;continuousAt&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;hg&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.60542" data-verso-hover="321"&gt;this&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;g&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.fun-29797"&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.61076" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;↦&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.61076" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="159"&gt;4&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;*&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.61076" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;-&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="159"&gt;3&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;h&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_real_tendsto_uniformly" data-verso-hover="322"&gt;T3_real_tendsto_uniformly&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-29679-29890"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.tacticHave_-29893" data-verso-hover="74"&gt;have&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62129" data-verso-hover="323"&gt;lhs_eq_rhs&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.fun-29916"&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.61856" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;↦&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.61856" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;+&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.61856" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;=ᶠ[&lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.fun-29990"&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.61962" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;↦&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_real" data-verso-hover="317"&gt;T3_real&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.61962" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.61962" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="159"&gt;4&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;*&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.61962" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;-&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="159"&gt;3&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-10955460886087369008-30057-30059"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.byTactic-30057" data-verso-hover="19"&gt;by&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-10955460886087369008-30057-30059"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.53274" data-verso-hover="305"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="inter-text"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_real_lim" data-verso-hover="306"&gt;T3_real_lim&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-13208963639561335131-30064-30097"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.apply-30064" data-verso-hover="77"&gt;apply&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.eventually_atTop" data-verso-hover="324"&gt;Filter.eventually_atTop&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Iff.mpr" data-verso-hover="234"&gt;mpr&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-13208963639561335131-30064-30097"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.53274" data-verso-hover="305"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="inter-text"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.56670" data-verso-hover="309"&gt;hf2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; ≥ &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-And" data-verso-hover="125"&gt; ∧ &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57826" data-verso-hover="311"&gt;f_tendsto&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57870" data-verso-hover="310"&gt;f_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.58135" data-verso-hover="312"&gt;lhs_tendsto&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.60196" data-verso-hover="316"&gt;rhs_tendsto&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74508" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_real" data-verso-hover="317"&gt;T3_real&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74508" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74508" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74508" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_real_lim" data-verso-hover="306"&gt;T3_real_lim&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∃ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74502" data-verso-hover="1"&gt;a&lt;/span&gt;&lt;span class="inter-text"&gt;,
  &lt;/span&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74504" data-verso-hover="1"&gt;b&lt;/span&gt;&lt;span class="inter-text"&gt; ≥ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74502" data-verso-hover="1"&gt;a&lt;/span&gt;&lt;span class="inter-text"&gt;,
    &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74504" data-verso-hover="1"&gt;b&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; =
      &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74511" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_real" data-verso-hover="317"&gt;T3_real&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74511" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74511" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74511" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74504" data-verso-hover="1"&gt;b&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-15445900539907220605-30102-30107"&gt;&lt;span class="keyword token" data-binding="kw-occ-Mathlib.Tactic.useSyntax-30102" data-verso-hover="268"&gt;use&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;1&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-15445900539907220605-30102-30107"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-181" checked="checked"&gt;&lt;span for="--verso-unique-181" class="goal-name"&gt;h&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.53274" data-verso-hover="305"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="inter-text"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.56670" data-verso-hover="309"&gt;hf2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; ≥ &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-And" data-verso-hover="125"&gt; ∧ &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57826" data-verso-hover="311"&gt;f_tendsto&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57870" data-verso-hover="310"&gt;f_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.58135" data-verso-hover="312"&gt;lhs_tendsto&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.60196" data-verso-hover="316"&gt;rhs_tendsto&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74508" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_real" data-verso-hover="317"&gt;T3_real&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74508" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74508" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74508" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_real_lim" data-verso-hover="306"&gt;T3_real_lim&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;b&lt;/span&gt;&lt;span class="inter-text"&gt; ≥ &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt;,
  &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74506" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74506" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74506" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;b&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; =
    &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74510" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_real" data-verso-hover="317"&gt;T3_real&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74510" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74510" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74510" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;b&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-12044662496273740683-30112-30122"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.intro-30112" data-verso-hover="143"&gt;intro&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62694" data-verso-hover="325"&gt;ih&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-12044662496273740683-30112-30122"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-182" checked="checked"&gt;&lt;span for="--verso-unique-182" class="goal-name"&gt;h&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.53274" data-verso-hover="305"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="inter-text"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.56670" data-verso-hover="309"&gt;hf2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; ≥ &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-And" data-verso-hover="125"&gt; ∧ &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57826" data-verso-hover="311"&gt;f_tendsto&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57870" data-verso-hover="310"&gt;f_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.58135" data-verso-hover="312"&gt;lhs_tendsto&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.60196" data-verso-hover="316"&gt;rhs_tendsto&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74508" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_real" data-verso-hover="317"&gt;T3_real&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74508" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74508" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74508" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_real_lim" data-verso-hover="306"&gt;T3_real_lim&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62694" data-verso-hover="325"&gt;ih&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-GE.ge" data-verso-hover="326"&gt; ≥ &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; =
  &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_real" data-verso-hover="317"&gt;T3_real&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-11927227077185630956-30127-30137"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.rwSeq-30127" data-verso-hover="32"&gt;rw&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57870" data-verso-hover="310"&gt;f_def&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-11927227077185630956-30127-30137"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-183" checked="checked"&gt;&lt;span for="--verso-unique-183" class="goal-name"&gt;h&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.53274" data-verso-hover="305"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="inter-text"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.56670" data-verso-hover="309"&gt;hf2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; ≥ &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-And" data-verso-hover="125"&gt; ∧ &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57826" data-verso-hover="311"&gt;f_tendsto&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57870" data-verso-hover="310"&gt;f_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.58135" data-verso-hover="312"&gt;lhs_tendsto&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.60196" data-verso-hover="316"&gt;rhs_tendsto&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74508" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_real" data-verso-hover="317"&gt;T3_real&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74508" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74508" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74508" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_real_lim" data-verso-hover="306"&gt;T3_real_lim&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62694" data-verso-hover="325"&gt;ih&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-GE.ge" data-verso-hover="326"&gt; ≥ &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; =
  &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74510" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_real" data-verso-hover="317"&gt;T3_real&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74510" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74510" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74514" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74514" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74514" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74510" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-4277911349765544687-30142-30147"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.dsimp-30142" data-verso-hover="113"&gt;dsimp&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-4277911349765544687-30142-30147"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-184" checked="checked"&gt;&lt;span for="--verso-unique-184" class="goal-name"&gt;h&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.53274" data-verso-hover="305"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="inter-text"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.56670" data-verso-hover="309"&gt;hf2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; ≥ &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-And" data-verso-hover="125"&gt; ∧ &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57826" data-verso-hover="311"&gt;f_tendsto&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57870" data-verso-hover="310"&gt;f_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.58135" data-verso-hover="312"&gt;lhs_tendsto&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.60196" data-verso-hover="316"&gt;rhs_tendsto&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74508" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_real" data-verso-hover="317"&gt;T3_real&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74508" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74508" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74508" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_real_lim" data-verso-hover="306"&gt;T3_real_lim&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62694" data-verso-hover="325"&gt;ih&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-GE.ge" data-verso-hover="326"&gt; ≥ &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; =
  &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_real" data-verso-hover="317"&gt;T3_real&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.tacticHave_-30152" data-verso-hover="74"&gt;have&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="1"&gt;4&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;*&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-10955460886087369008-30214-30216"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.byTactic-30214" data-verso-hover="19"&gt;by&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-10955460886087369008-30214-30216"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.53274" data-verso-hover="305"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="inter-text"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_real_lim" data-verso-hover="306"&gt;T3_real_lim&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-15160769807840818392-30223-30243"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.rwSeq-30223" data-verso-hover="32"&gt;rw&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.bottom_right_eq" data-verso-hover="133"&gt;bottom_right_eq&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-15160769807840818392-30223-30243"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.53274" data-verso-hover="305"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="inter-text"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.56670" data-verso-hover="309"&gt;hf2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; ≥ &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-And" data-verso-hover="125"&gt; ∧ &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57826" data-verso-hover="311"&gt;f_tendsto&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57870" data-verso-hover="310"&gt;f_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.58135" data-verso-hover="312"&gt;lhs_tendsto&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.60196" data-verso-hover="316"&gt;rhs_tendsto&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74508" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_real" data-verso-hover="317"&gt;T3_real&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74508" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74508" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74508" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_real_lim" data-verso-hover="306"&gt;T3_real_lim&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62694" data-verso-hover="325"&gt;ih&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-GE.ge" data-verso-hover="326"&gt; ≥ &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7-30250-30268"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.exact-30250" data-verso-hover="118"&gt;exact&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56670" data-verso-hover="309"&gt;hf2&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62694" data-verso-hover="325"&gt;ih&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;1&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-30250-30268"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-14223455887051195027-30273-30293"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.rwSeq-30273" data-verso-hover="32"&gt;rw&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;&amp;lt;-&lt;/span&gt;&lt;span class="const token" data-binding="const-mul_div_assoc" data-verso-hover="327"&gt;mul_div_assoc&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-14223455887051195027-30273-30293"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-187" checked="checked"&gt;&lt;span for="--verso-unique-187" class="goal-name"&gt;h&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.53274" data-verso-hover="305"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="inter-text"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.56670" data-verso-hover="309"&gt;hf2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; ≥ &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-And" data-verso-hover="125"&gt; ∧ &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57826" data-verso-hover="311"&gt;f_tendsto&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57870" data-verso-hover="310"&gt;f_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.58135" data-verso-hover="312"&gt;lhs_tendsto&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.60196" data-verso-hover="316"&gt;rhs_tendsto&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74508" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_real" data-verso-hover="317"&gt;T3_real&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74508" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74508" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74508" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_real_lim" data-verso-hover="306"&gt;T3_real_lim&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62694" data-verso-hover="325"&gt;ih&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-GE.ge" data-verso-hover="326"&gt; ≥ &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.63626" data-verso-hover="328"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; =
  &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_real" data-verso-hover="317"&gt;T3_real&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-16667343681281897197-30298-30339"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.rwSeq-30298" data-verso-hover="32"&gt;rw&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_recurse_bottom_right" data-verso-hover="329"&gt;normalized_recurse_bottom_right&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.63626" data-verso-hover="328"&gt;this&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-16667343681281897197-30298-30339"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-188" checked="checked"&gt;&lt;span for="--verso-unique-188" class="goal-name"&gt;h&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.53274" data-verso-hover="305"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="inter-text"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.56670" data-verso-hover="309"&gt;hf2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; ≥ &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-And" data-verso-hover="125"&gt; ∧ &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57826" data-verso-hover="311"&gt;f_tendsto&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57870" data-verso-hover="310"&gt;f_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.58135" data-verso-hover="312"&gt;lhs_tendsto&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.60196" data-verso-hover="316"&gt;rhs_tendsto&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74508" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_real" data-verso-hover="317"&gt;T3_real&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74508" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74508" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74508" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_real_lim" data-verso-hover="306"&gt;T3_real_lim&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62694" data-verso-hover="325"&gt;ih&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-GE.ge" data-verso-hover="326"&gt; ≥ &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.63626" data-verso-hover="328"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_real" data-verso-hover="317"&gt;T3_real&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; =
  &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_real" data-verso-hover="317"&gt;T3_real&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.tacticHave_-30344" data-verso-hover="74"&gt;have&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="159"&gt;4&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℝ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;*&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;-&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="159"&gt;3&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℝ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;*&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;/&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;↑&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;=&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="159"&gt;4&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℝ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;*&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;/&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;-&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="159"&gt;3&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;ℝ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-10955460886087369008-30492-30494"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.byTactic-30492" data-verso-hover="19"&gt;by&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-10955460886087369008-30492-30494"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.53274" data-verso-hover="305"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="inter-text"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_real_lim" data-verso-hover="306"&gt;T3_real_lim&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-4673089837046394033-30501-30529"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.tacticHave_-30501" data-verso-hover="74"&gt;have&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length_pos" data-verso-hover="330"&gt;hilbert_length_pos&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-4673089837046394033-30501-30529"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.53274" data-verso-hover="305"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="inter-text"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.56670" data-verso-hover="309"&gt;hf2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; ≥ &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-And" data-verso-hover="125"&gt; ∧ &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57826" data-verso-hover="311"&gt;f_tendsto&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57870" data-verso-hover="310"&gt;f_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.58135" data-verso-hover="312"&gt;lhs_tendsto&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.60196" data-verso-hover="316"&gt;rhs_tendsto&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74508" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_real" data-verso-hover="317"&gt;T3_real&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74508" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74508" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74508" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_real_lim" data-verso-hover="306"&gt;T3_real_lim&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62694" data-verso-hover="325"&gt;ih&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-GE.ge" data-verso-hover="326"&gt; ≥ &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.63626" data-verso-hover="328"&gt;this✝&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.64181" data-verso-hover="331"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
      &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-4915593501857054376-30536-30546"&gt;&lt;span class="keyword token" data-binding="kw-occ-Mathlib.Tactic.FieldSimp.fieldSimp-30536" data-verso-hover="332"&gt;field_simp&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-4915593501857054376-30536-30546"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.53274" data-verso-hover="305"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="inter-text"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.56670" data-verso-hover="309"&gt;hf2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; ≥ &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-And" data-verso-hover="125"&gt; ∧ &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57826" data-verso-hover="311"&gt;f_tendsto&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57870" data-verso-hover="310"&gt;f_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.58135" data-verso-hover="312"&gt;lhs_tendsto&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74507" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.60196" data-verso-hover="316"&gt;rhs_tendsto&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74508" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_real" data-verso-hover="317"&gt;T3_real&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74508" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74508" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74508" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_real_lim" data-verso-hover="306"&gt;T3_real_lim&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.62694" data-verso-hover="325"&gt;ih&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-GE.ge" data-verso-hover="326"&gt; ≥ &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.63626" data-verso-hover="328"&gt;this✝&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.get_quadrant" data-verso-hover="81"&gt;get_quadrant&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.Quadrant.BOTTOM_RIGHT" data-verso-hover="72"&gt;Quadrant.BOTTOM_RIGHT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.64181" data-verso-hover="331"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;0&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62691" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;;&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7-30548-30552"&gt;&lt;span class="keyword token" data-binding="kw-occ-Mathlib.Tactic.RingNF.ring-30548" data-verso-hover="237"&gt;ring&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-30548-30552"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
    &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7-30557-30566"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.rwSeq-30557" data-verso-hover="32"&gt;rw&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.64176" data-verso-hover="333"&gt;this&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-30557-30566"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-8715292490285086789-30569-30621"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.rwSeq-30569" data-verso-hover="32"&gt;rw&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.tendsto_congr'" data-verso-hover="334"&gt;Filter.tendsto_congr'&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.62129" data-verso-hover="323"&gt;lhs_eq_rhs&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.location-30607" data-verso-hover="89"&gt;at&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.58135" data-verso-hover="312"&gt;lhs_tendsto&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-8715292490285086789-30569-30621"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-192" checked="checked"&gt;&lt;span for="--verso-unique-192" class="goal-name"&gt;intro.intro&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.53274" data-verso-hover="305"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-Membership.mem" data-verso-hover="255"&gt; ∈ &lt;/span&gt;&lt;span class="const token" data-binding="const-Set.Icc" data-verso-hover="253"&gt;Set.Icc&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="inter-text"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.56670" data-verso-hover="309"&gt;hf2&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;∀ &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; ≥ &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="inter-text"&gt;, &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="40"&gt; ≤ &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-And" data-verso-hover="125"&gt; ∧ &lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="70"&gt; &amp;lt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Nat" data-verso-hover="22"&gt;ℕ&lt;/span&gt;&lt;span class="inter-text"&gt; → &lt;/span&gt;&lt;span class="const token" data-binding="const-Real" data-verso-hover="178"&gt;ℝ&lt;/span&gt;&lt;span class="inter-text"&gt; := &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57826" data-verso-hover="311"&gt;f_tendsto&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.57870" data-verso-hover="310"&gt;f_def&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.56647" data-verso-hover="262"&gt;fnat&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-HDiv.hDiv" data-verso-hover="139"&gt; / &lt;/span&gt;&lt;span class="inter-text"&gt;↑&lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.hilbert_length" data-verso-hover="85"&gt;hilbert_length&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74503" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.74351" data-verso-hover="335"&gt;lhs_tendsto&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74508" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_real" data-verso-hover="317"&gt;T3_real&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74508" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74508" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74508" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.74354" data-verso-hover="316"&gt;rhs_tendsto&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Filter.Tendsto" data-verso-hover="242"&gt;Filter.Tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74508" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_real" data-verso-hover="317"&gt;T3_real&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74508" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74508" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74508" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-nhds" data-verso-hover="244"&gt;nhds&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_real_lim" data-verso-hover="306"&gt;T3_real_lim&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.74355" data-verso-hover="323"&gt;lhs_eq_rhs&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74509" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74509" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt; + &lt;/span&gt;&lt;span class="inter-text"&gt;1&lt;/span&gt;&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="26"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74509" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.EventuallyEq" data-verso-hover="336"&gt; =ᶠ[&lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.atTop" data-verso-hover="243"&gt;Filter.atTop&lt;/span&gt;&lt;span class="const token" data-binding="const-Filter.EventuallyEq" data-verso-hover="336"&gt;] &lt;/span&gt;&lt;span class="keyword token" data-binding=""&gt;fun&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74513" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; =&amp;gt;
  &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_real" data-verso-hover="317"&gt;T3_real&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74513" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.normalized_hilbert_curve" data-verso-hover="188"&gt;normalized_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74513" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.57766" data-verso-hover="269"&gt;f&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74513" data-verso-hover="1"&gt;i&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-Eq" data-verso-hover="29"&gt; = &lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.T3_real_lim" data-verso-hover="306"&gt;T3_real_lim&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="inter-text"&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-HilbertCurve.limit_hilbert_curve" data-verso-hover="252"&gt;limit_hilbert_curve&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;(&lt;/span&gt;&lt;span class="inter-text"&gt;4&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="101"&gt; * &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.52969" data-verso-hover="159"&gt;t&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt; - &lt;/span&gt;&lt;span class="inter-text"&gt;3&lt;/span&gt;&lt;span class="const token" data-binding="const-HSub.hSub" data-verso-hover="27"&gt;)&lt;/span&gt;&lt;span class="inter-text"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
  &lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-7-30624-30673"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.apply-30624" data-verso-hover="77"&gt;apply&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="const token" data-binding="const-tendsto_nhds_unique" data-verso-hover="278"&gt;tendsto_nhds_unique&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74351" data-verso-hover="335"&gt;lhs_tendsto&lt;/span&gt;&lt;span class="inter-text"&gt; &lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.74354" data-verso-hover="316"&gt;rhs_tendsto&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-30624-30673"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="inter-text"&gt;
&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;&lt;/span&gt;&lt;/code&gt;&lt;p&gt;
              I only did the bottom left and bottom right case, because that's sufficient to prove it isn't injective. That proof in particular is a bit boring.&lt;/p&gt;
            &lt;/section&gt;
          &lt;/section&gt;
        &lt;section&gt;
          &lt;h2&gt;
            &lt;span id="additionaldirections"&gt;Additional Directions&lt;/span&gt;&lt;/h2&gt;
          &lt;p&gt;
            Like every formalization project, it ends up being a lot more than you expect. Not only was it more involved, technical, time-consuming, and plain difficult, but it was also more rewarding. I have run out formalization steam, so these will remain informal until AI takes over or whatever. By the end, I had a lot better grasp on some more non-trivial facts:&lt;/p&gt;
          &lt;p&gt;
            I would consider any one of these to be a pretty decent puzzle.&lt;/p&gt;
          &lt;section&gt;
            &lt;h3&gt;
              &lt;span id="symmetry"&gt;Symmetry&lt;/span&gt;&lt;/h3&gt;
            &lt;p&gt;
              After thinking about the symmetry relations of the Hilbert curve, I realized:&lt;/p&gt;
            &lt;p&gt;
              &lt;strong&gt;Any function satisfying the same symmetry law is the Hilbert curve&lt;/strong&gt;.&lt;/p&gt;
            &lt;p&gt;
              Suppose you have some &lt;code class="math inline"&gt;t \in [0, 1]&lt;/code&gt;. This &lt;code class="math inline"&gt;t&lt;/code&gt; is in one of 4 quadrants, &lt;code class="math inline"&gt;[0, \frac{1}{4}]&lt;/code&gt;, &lt;code class="math inline"&gt;[\frac{1}{4}, \frac{1}{2}]&lt;/code&gt;, etc. We know that transformation symmetry applies on each quadrant, and it matches at each boundary. Our symmetry also tells us that &lt;code class="math inline"&gt;f(t)&lt;/code&gt; lies in that smaller square as long as it lies in &lt;code class="math inline"&gt;[0, 1] \times [0, 1]&lt;/code&gt;. Each iteration, additional information from &lt;code class="math inline"&gt;t&lt;/code&gt; reduces this square to a square with &lt;code class="math inline"&gt;\frac{1}{2}&lt;/code&gt; the size. At this point, we have a sequence of nested squares. We can pick a point from each square and use the completeness of &lt;code class="math inline"&gt;\mathbb{R} \times \mathbb{R}&lt;/code&gt;, or we can intersect the sequence of compact sets using Cantor's intersection theorem to get a point in the limit.&lt;/p&gt;
            &lt;p&gt;
              Any uniform collection of contractions will eventually converge to a point like this, so our assumption that &lt;code class="math inline"&gt;f(t) \in [0, 1] \times [0, 1]&lt;/code&gt; or that these are squares is unnecessary.&lt;/p&gt;
            &lt;/section&gt;
          &lt;section&gt;
            &lt;h3&gt;
              &lt;span id="holder"&gt;Hölder continuity&lt;/span&gt;&lt;/h3&gt;
            &lt;p&gt;
              Early on, I wanted to hope that the final curve was Lipschitz or something, but a simple estimate suggests that any bound will get broken as you &lt;code class="math inline"&gt;\tilde{H}_i(t)&lt;/code&gt; speeds up by a factor of &lt;code class="math inline"&gt;2&lt;/code&gt; each iteration at &lt;code class="math inline"&gt;t = 0&lt;/code&gt;. However, I know from the Cauchy bound that it doesn't get &lt;em&gt;too&lt;/em&gt; far away. As each iteration divides a segment into segments 1/4 the size that move 1/2 as far, this suggests that we are looking for a square-root.&lt;/p&gt;
            &lt;p&gt;
              This immediately suggests (to me) that we use Hölder continuity&lt;/p&gt;
            &lt;p&gt;
              &lt;code class="math display"&gt;
\lVert f(t) - f(s) \rVert \le C \lVert t - s \rVert^\alpha
&lt;/code&gt;&lt;/p&gt;
            &lt;p&gt;
              where &lt;code class="math inline"&gt;\alpha = \frac{1}{2}&lt;/code&gt;.&lt;/p&gt;
            &lt;p&gt;
              We can do some plots (in Lean of course) to validate the exact the constant.&lt;/p&gt;
            &lt;img src="hilbertcurve/holderplot.png" alt="A plot of |H(t)| and 2 sqrt(t). The latter bounds |H(t)| even near 0" style="max-width: 50%; margin: 0 auto; display: block;"&gt;&lt;/img&gt;&lt;p&gt;
              I tested different values until &lt;code class="math inline"&gt;C = 2&lt;/code&gt; looked appropriate when I increased the iteration. I suspect this proof is just another tedious application of each transformation, so I leave it up to anyone else to prove this.&lt;/p&gt;
            &lt;p&gt;
              It turns out any Hölder continuous map from a set &lt;code class="math inline"&gt;s&lt;/code&gt; with exponent &lt;code class="math inline"&gt;1/d&lt;/code&gt; can have dimension at most &lt;code class="math inline"&gt;d \, \mathrm{dim}\, s&lt;/code&gt;, so in our case, we know that since the image of the Hilbert curve has dimension 2, then it can't be Hölder continuous with exponent &lt;code class="math inline"&gt;&amp;gt; 1/2&lt;/code&gt;, and in particular, it can't be Lipschitz or differentiable.&lt;/p&gt;
            &lt;p&gt;
              Oddly enough, this fact actually IS in Lean already!&lt;/p&gt;
            &lt;/section&gt;
          &lt;section&gt;
            &lt;h3&gt;
              &lt;span id="lsystems"&gt;L-Systems&lt;/span&gt;&lt;/h3&gt;
            &lt;p&gt;
              The symmetry structure plus making sure everything connects up seems like it is actually sufficient for continuity, so there may be some related facts that show that any L-system satisfies some nice continuity relations. I suspect the "space-filling" depends on the exact fractal nature of those systems.&lt;/p&gt;
            &lt;p&gt;
              I never proved that the &lt;a href="https://en.wikipedia.org/wiki/Hilbert_curve#Representation_as_Lindenmayer_system"&gt;L-system definition&lt;/a&gt; is equivalent, and it looks like once again, annoying induction.&lt;/p&gt;
            &lt;/section&gt;
          &lt;section&gt;
            &lt;h3&gt;
              &lt;span id="base4"&gt;Base-4 Representation&lt;/span&gt;&lt;/h3&gt;
            &lt;p&gt;
              The symmetry section should also hint that we can look at the curve as splitting a base-4 number into 2 base-2 numbers.&lt;/p&gt;
            &lt;p&gt;
              Each digit tells you which quadrant you are in, so define the digits of the base-2 numbers:&lt;/p&gt;
            &lt;ul&gt;
              &lt;li&gt;
                &lt;p&gt;
                  0.0... -&amp;gt; (0.0..., 0.0...)&lt;/p&gt;
                &lt;/li&gt;
              &lt;li&gt;
                &lt;p&gt;
                  0.1... -&amp;gt; (0.0..., 0.1...)&lt;/p&gt;
                &lt;/li&gt;
              &lt;li&gt;
                &lt;p&gt;
                  0.2... -&amp;gt; (0.1..., 0.1...)&lt;/p&gt;
                &lt;/li&gt;
              &lt;li&gt;
                &lt;p&gt;
                  0.3... -&amp;gt; (0.1..., 0.0...)&lt;/p&gt;
                &lt;/li&gt;
              &lt;/ul&gt;
            &lt;p&gt;
              I know that the continuity conditions here amount to any Gray code. The flipping and swapping are still necessary and involve dealing with the digits in a different way depending on earlier digits, but this doesn't appear to be anything more than a technical obstacle.&lt;/p&gt;
            &lt;/section&gt;
          &lt;section&gt;
            &lt;h3&gt;
              &lt;span id="partialinverse"&gt;Partial Computable Inverse&lt;/span&gt;&lt;/h3&gt;
            &lt;p&gt;
              The symmetry-based algorithm not only gives a computable definition for &lt;code class="math inline"&gt;\mathbb{R} \to \mathbb{R}&lt;/code&gt;, but it and the injectivity arguments also suggest that there is a partial computable inverse:&lt;/p&gt;
            &lt;p&gt;
              When we proved the function is not-injective, we had to pick some inputs which mapped to the boundary &lt;code class="math inline"&gt;\{\frac{1}{2}\} \times [0, \frac{1}{2}]&lt;/code&gt;. These are in fact the only places where it is not injective. If &lt;code class="math inline"&gt;(x, y)&lt;/code&gt; has irrational coordinates, then each time we &lt;a href="https://en.wikipedia.org/wiki/Coinduction"&gt;"coinduct"&lt;/a&gt; and break it down into sections, we get a unique quadrant like &lt;code class="math inline"&gt;t \in [\frac{1}{4}, \frac{1}{2}]&lt;/code&gt;. Since this is unique every time, we can get a series of increasing approximations like before, and find the unique &lt;code class="math inline"&gt;t&lt;/code&gt; such that &lt;code class="math inline"&gt;H(t) = (x, y)&lt;/code&gt;.&lt;/p&gt;
            &lt;p&gt;
              I'd also like to thank Sam Sartor for first pointing out to me these "grids" fill up the space in a weird way. I guess it was relevant later.&lt;/p&gt;
            &lt;p&gt;
              From here, we can refine our surjectivity in a nice way, there is a computable left-inverse on all but a dense set of measure &lt;code class="math inline"&gt;0&lt;/code&gt;.&lt;/p&gt;
            &lt;/section&gt;
          &lt;section&gt;
            &lt;h3&gt;
              &lt;span id="rationals"&gt;Hilbert Curve on the Rationals&lt;/span&gt;&lt;/h3&gt;
            &lt;p&gt;
              &lt;code class="math display"&gt;H(\mathbb{Q}) \subseteq \mathbb{Q} \times \mathbb{Q}&lt;/code&gt;&lt;/p&gt;
            &lt;p&gt;
              Once I saw the symmetry relations, the digits definition, and I computed a few &lt;code class="math inline"&gt;H(t)&lt;/code&gt; "by hand" for a version of the non-injectivity theorem, I realized there was a "sharper" computable algorithm for &lt;code class="math inline"&gt;H&lt;/code&gt;.&lt;/p&gt;
            &lt;p&gt;
              As an example, let's do &lt;code class="math inline"&gt;\frac{1}{3}&lt;/code&gt;, which is how I got into this. By inspecting &lt;code class="math inline"&gt;\frac{1}{3} = \frac{1}{4} + \frac{1}{4}\frac{1}{3}&lt;/code&gt;, we know that each iteration, we zoom into the top left corner, and when we do &lt;code class="math inline"&gt;4 (\frac{1}{3} - \frac{1}{4}) = \frac{1}{3}&lt;/code&gt; . This gives us a single transformation: zoom in up and to the left each time. This gives a sequence &lt;code class="math inline"&gt;\frac{1}{2} + \frac{1}{4} + \cdots = 1&lt;/code&gt; for the &lt;code class="math inline"&gt;y&lt;/code&gt;-coordinate and &lt;code class="math inline"&gt;0&lt;/code&gt; for the &lt;code class="math inline"&gt;x&lt;/code&gt;-coordinate. Thus &lt;code class="math inline"&gt;H(\frac{1}{3}) = (0, 1)&lt;/code&gt;.&lt;/p&gt;
            &lt;p&gt;
              Suppose we expand &lt;code class="math inline"&gt;t \in \mathbb{Q}&lt;/code&gt; into an its base-4 representation: &lt;code class="math inline"&gt;t = 0.t_1 t_2 t_3 \cdots&lt;/code&gt;. Eventually, this expansion starts repeating, say at digit &lt;code class="math inline"&gt;n + 1&lt;/code&gt; to &lt;code class="math inline"&gt;n + T&lt;/code&gt;.  The first &lt;code class="math inline"&gt;n&lt;/code&gt; digits will localize us to some smallish square, and then we'll explicit calculate &lt;code class="math inline"&gt;H(t)&lt;/code&gt; for some &lt;code class="math inline"&gt;t&lt;/code&gt; which &lt;em&gt;immmediately&lt;/em&gt; repeats.&lt;/p&gt;
            &lt;p&gt;
              For repeating digits &lt;code class="math inline"&gt;0.t_1 \cdots t_T t_1 \cdots&lt;/code&gt;, we can construct a function &lt;code class="math inline"&gt;T_{t_1 t_2 \cdots t_T}&lt;/code&gt; which zooms into the appropriate section, which we can iterate to get out final output as the final fixed point. This function &lt;code class="math inline"&gt;T&lt;/code&gt; is an affine map, which can be explicitly computed. Since the fixed points of affine maps can be solved for using linear algebra (i.e. &lt;code class="math inline"&gt;A x + b = x&lt;/code&gt; is a linear equation), we can solve the appropriate matrix, and then find &lt;code class="math inline"&gt;H(t)&lt;/code&gt; without looking at all the digits.&lt;/p&gt;
            &lt;p&gt;
              Combining this with our other transformation gives us &lt;code class="math inline"&gt;H(t)&lt;/code&gt; for any rational &lt;code class="math inline"&gt;t&lt;/code&gt;. Since every transformation here involves rational matrices and solving a rational linear system, we can compute an rational inverse matrix and thus &lt;code class="math inline"&gt;H(t) \in \mathbb{Q}&lt;/code&gt;.&lt;/p&gt;
            &lt;p&gt;
              I would be interested to learn a proof of this fact which isn't constructive.&lt;/p&gt;
            &lt;/section&gt;
          &lt;section&gt;
            &lt;h3&gt;
              &lt;span id="fractals"&gt;Other fractals&lt;/span&gt;&lt;/h3&gt;
            &lt;p&gt;
              Other fractals such as the dragon curve have similar properties, if less well-behaved. (The limit is a dragon, not a square.) Since I broke up continuity into individual specific bounds instead of computations on recursive combinations, the Hilbert curve lemmas have no direct effect on such curves. However, such proof should be computational since a sufficiently "bounded" recursive procedure should tend to a limit in a subsequence. Intuitively, I expect most convergence bounds to be simple enough, while area computations are tractable through infinite series. These procedures seem challenging to implement.&lt;/p&gt;
            &lt;/section&gt;
          &lt;section&gt;
            &lt;h3&gt;
              &lt;span id="mathlib"&gt;Mathlib additions I would like to do&lt;/span&gt;&lt;/h3&gt;
            &lt;p&gt;
              I would like to add a few lemmas about limits of floors and floor of integer division, which seem easy enough. Edit: &lt;a href="https://github.com/leanprover-community/mathlib4/pull/26004"&gt;Vasilii Nesterovs recently added&lt;/a&gt; &lt;code&gt;⌊n * x⌋ / n = ⌊x⌋&lt;/code&gt; for floor fields already.&lt;/p&gt;
            &lt;p&gt;
              Interpolation has &lt;em&gt;too many&lt;/em&gt; extensions, so requires more thought, particularly in regards to complex analysis.&lt;/p&gt;
            &lt;p&gt;
              Finally, continuous affine maps are a bit of frustration to work with. There are many results that apply to topological vector spaces like much of &lt;a href="https://leanprover-community.github.io/mathlib4_docs/Mathlib/Analysis/Normed/Module/FiniteDimension.html"&gt;Mathlib.Analysis.Normed.Module.FiniteDimensional&lt;/a&gt;. There are results about slightly different kinds of continuous affine maps in either &lt;a href="https://leanprover-community.github.io/mathlib4_docs/Mathlib/Topology/Algebra/Affine.html"&gt;Mathlib.Topology.Algebra.Affine&lt;/a&gt;, which depend on something being a topological group, or &lt;a href="https://leanprover-community.github.io/mathlib4_docs/Mathlib/Topology/Algebra/ContinuousAffineMap.html"&gt;Mathlib.Topology.Algebra.ContinuousAffineMap&lt;/a&gt;, where they depend on an AddTorsor. Right now, the normed continuous affine maps are the only nice ones, but adding topological vector spaces should clarify much of this theory.&lt;/p&gt;
            &lt;/section&gt;
          &lt;/section&gt;
        &lt;section&gt;
          &lt;h2&gt;
            &lt;span id="proscons"&gt;Pros and Cons of using Lean here&lt;/span&gt;&lt;/h2&gt;
          &lt;p&gt;
            Overall, I'm pretty happy I did this formalization. Formalization really pushes you in a way that writing sometimes doesn't. I would suspect that I could have gotten 80% of the insight with 20% of the effort if I actually wrote a blueprint out first, whoops. The computation and casework seems to still be a bit of a nightmare, and in this case, I'm not sure what could really make that part "pleasant". There's a lot of geometric intuition.&lt;/p&gt;
          &lt;p&gt;
            Using ProofWidgets was a great idea, since it caught bugs I would have needed some serious formalization to uncover, such as &lt;em&gt;during&lt;/em&gt; proving injectivity. I was surprised at (1) how easy it is for AI to autogenerate these and (2) how difficult it was to just write JavaScript mself. ProofWidgets is probably just injecting JavaScript, but Lean makes string-interpolating your own JavaScript indirect. I actually regret not using ProofWidgets more by substituting specific examples when I am doing algebra. The only big impediment is that &lt;code class="math inline"&gt;\mathbb{R}&lt;/code&gt; is usually noncomputable, and producing a useful approximation requires "breaking" out of a quotient, so it's usually easier to build out numeric testing separately for &lt;code class="math inline"&gt;\mathbb{R}&lt;/code&gt;.&lt;/p&gt;
          &lt;p&gt;
            When I tried to use any sort of AI, it usually failed. There was a few really early, basic definitions for the different transformations which Gemini 2.5 did quite well on. It did great on SVG generation and JavaScript. However, the moment you had a mildly complicated proof like "interpolation is continuous", then even the super fancy "DeepSeek-Prover-V2" got stuck in a loop trying to prove &lt;code class="math inline"&gt;t - \lfloor t \rfloor&lt;/code&gt; is continuous. Even when they did work, they often produced some of the ugliest proofs I've seen in my life, and it was faster to rewrite them from scratch then clean it up. Many of the provers are trained using only pretraining + pure RL, so they don't look up theorems when they should, they write 10 different tactics in a row and hope it works, they are incapable of running Lean code while generating, they can't simplify or take wrong paths, so overall they end up completely useless for even the amateur mathematician.&lt;/p&gt;
          &lt;p&gt;
            The confusion in &lt;code&gt;mathlib&lt;/code&gt;'s continuous affine map cost me a few days of reading and false starts. I suspect that the ordinary use of uniform continuity is excessive when you really need weaker product continuity results, which is a mismatch I would call in Lean's favor over the informal.&lt;/p&gt;
          &lt;/section&gt;
        &lt;section&gt;
          &lt;h2&gt;
            &lt;span id="conclusion"&gt;Conclusion&lt;/span&gt;&lt;/h2&gt;
          &lt;p&gt;
            The Hilbert curve has some nice properties in both the integers and the reals, and in my opinion, any finite integer implementation is only correct because of the convergence to the reals. That makes it an interesting verification exercise, since you can't really avoid having to deal with limits. There are plenty of other similar pathological curves with similar constructions (like &lt;a href="https://www.mimuw.edu.pl/~pawelst/am2/Analiza_Matematyczna_2/Notatki_files/Przyk%C5%82ad_Whitneya.pdf"&gt;Whitney's "A function not constant on a connected set of critical points"&lt;/a&gt;). I've purposefully ignored looking too hard into the literature here, since I wanted to learn from formalization instead of just formalizing known facts. Even now, I am wary of letting go of some puzzles and looking up an answer.&lt;/p&gt;
          &lt;p&gt;
            Ultimately, I am getting bit tired of these kind of "obvious" tasks becoming a 3000 LOC adventure. Frankly, many days weren't enjoyable, and I do this primarily because I find it fun. At some point, I would like to play around with something less obvious and less verbose instead, or at least on work on tackling these usability problems instead of suffering through them. There's plenty of things to work on still.&lt;/p&gt;
          &lt;/section&gt;
        &lt;section&gt;
          &lt;h2&gt;
            &lt;span id="verso"&gt;P.S. Verso is fine&lt;/span&gt;&lt;/h2&gt;
          &lt;p&gt;
            I wrote this blog post by drafting first in Obsidian, and then copying it to &lt;a href="https://github.com/leanprover/verso"&gt;Verso&lt;/a&gt;.&lt;/p&gt;
          &lt;p&gt;
            I don't know if I've gotten better at Lean or if Verso has gotten easier to use, but I needed a lot less boilerplate to get this blog-post in Verso. I have a few notes at https://github.com/josephmckinsey/HilbertCurveBlogPost/blob/main/notes for some of the problems I encountered, but overall I feel like I have a real template for next time here.
&lt;/p&gt;
          &lt;/section&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    </content><category term="article"></category><category term="math"></category><category term="lean"></category><category term="hilbert-curves"></category></entry><entry><title>Hilbert Curves</title><link href="https://josephmckinsey.com/hilbertcurves.html" rel="alternate"></link><published>2025-08-03T18:53:00-06:00</published><updated>2025-08-03T18:53:00-06:00</updated><author><name>Joseph McKinsey</name></author><id>tag:josephmckinsey.com,2025-08-03:/hilbertcurves.html</id><summary type="html">An informal presentation of the different Hilbert curves</summary><content type="html">
    &lt;script&gt;
      
document.addEventListener("DOMContentLoaded", () =&gt; {
    for (const m of document.querySelectorAll(".math.inline")) {
        katex.render(m.textContent, m, {throwOnError: false, displayMode: false});
    }
    for (const m of document.querySelectorAll(".math.display")) {
        katex.render(m.textContent, m, {throwOnError: false, displayMode: true});
    }
});
&lt;/script&gt;
    
&lt;link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/katex.min.css" integrity="sha384-n8MVd4RsNIU0tAv4ct0nTaAbDJwPJzDEaqSD1odI+WdtXRGWt2kTvGFasHpSy3SV" crossorigin="anonymous"&gt;
    &lt;script defer="defer" src="https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/katex.min.js" integrity="sha384-XjKyOOlGwcjNTAIQHIpgOno0Hl1YQqzUOEleOLALmuqehneUG+vnGctmUb0ZY0l8" crossorigin="anonymous"&gt;&lt;/script&gt;
    &lt;script src="https://cdn.jsdelivr.net/npm/marked@11.1.1/marked.min.js" integrity="sha384-zbcZAIxlvJtNE3Dp5nxLXdXtXyxwOdnILY1TDPVmKFhl4r4nSUG1r8bcFXGVa4Te" crossorigin="anonymous"&gt;&lt;/script&gt;
    &lt;div class="main" role="main"&gt;
      &lt;div class="wrap"&gt;
        &lt;h1&gt;
          Hilbert Curves&lt;/h1&gt;
        &lt;blockquote&gt;&lt;p&gt;
            "Everyone knows what a curve is, until he has studied enough mathematics to become confused through the countless number of possible exceptions." -- Felix Klein&lt;/p&gt;
          &lt;/blockquote&gt;&lt;p&gt;
          In the limit, the Hilbert curve is a weird fractal that curves around to completely fill up a square &lt;code class="math inline"&gt;[0, 1] \times [0, 1]&lt;/code&gt;. To those who haven't internalized analysis, a full informal proof may scare one by referencing uniform convergence and Cauchy sequences, but I hope the gist is understandable enough. Given that correctness of the Hilbert curve requires such depth, it seemed like a good test case to formalize in the programming language &lt;a href="https://lean-lang.org"&gt;Lean&lt;/a&gt;, so we can see the difference in theory vs application.&lt;/p&gt;
        &lt;svg width="20%" height="20%" viewbox="0 0 400 400" alt="A simple example of iteration 1 of the Hilbert Curve." xmlns="http://www.w3.org/2000/svg" version="1.1" width="400" height="400"&gt;&lt;line x1="66" y1="333" x2="66" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="200" x2="200" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="200" x2="200" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;svg width="20%" height="20%" viewbox="0 0 400 400" alt="A simple example of iteration 2 of the Hilbert Curve." xmlns="http://www.w3.org/2000/svg" version="1.1" width="400" height="400"&gt;&lt;line x1="66" y1="333" x2="133" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="333" x2="133" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="266" x2="66" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="266" x2="66" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="200" x2="66" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="133" x2="133" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="133" x2="133" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="200" x2="200" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="200" x2="200" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="133" x2="266" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="133" x2="266" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="200" x2="266" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="266" x2="200" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="266" x2="200" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="333" x2="266" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;svg width="20%" height="20%" viewbox="0 0 400 400" alt="A simple example of iteration 3 of the Hilbert Curve." xmlns="http://www.w3.org/2000/svg" version="1.1" width="400" height="400"&gt;&lt;line x1="66" y1="333" x2="66" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="300" x2="100" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="300" x2="100" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="333" x2="133" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="333" x2="166" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="333" x2="166" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="300" x2="133" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="300" x2="133" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="266" x2="166" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="266" x2="166" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="233" x2="133" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="233" x2="100" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="233" x2="100" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="266" x2="66" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="266" x2="66" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="233" x2="66" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="200" x2="100" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="200" x2="100" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="166" x2="66" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="166" x2="66" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="133" x2="66" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="100" x2="100" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="100" x2="100" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="133" x2="133" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="133" x2="133" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="100" x2="166" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="100" x2="166" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="133" x2="166" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="166" x2="133" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="166" x2="133" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="200" x2="166" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="200" x2="200" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="200" x2="233" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="200" x2="233" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="166" x2="200" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="166" x2="200" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="133" x2="200" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="100" x2="233" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="100" x2="233" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="133" x2="266" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="133" x2="266" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="100" x2="300" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="100" x2="300" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="133" x2="300" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="166" x2="266" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="166" x2="266" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="200" x2="300" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="200" x2="300" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="233" x2="300" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="266" x2="266" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="266" x2="266" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="233" x2="233" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="233" x2="200" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="233" x2="200" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="266" x2="233" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="266" x2="233" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="300" x2="200" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="300" x2="200" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="333" x2="233" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="333" x2="266" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="333" x2="266" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="300" x2="300" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="300" x2="300" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;svg width="20%" height="20%" viewbox="0 0 400 400" alt="A simple example of iteration 4 of the Hilbert Curve." xmlns="http://www.w3.org/2000/svg" version="1.1" width="400" height="400"&gt;&lt;line x1="66" y1="333" x2="83" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="83" y1="333" x2="83" y2="316" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="83" y1="316" x2="66" y2="316" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="316" x2="66" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="300" x2="66" y2="283" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="283" x2="83" y2="283" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="83" y1="283" x2="83" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="83" y1="300" x2="100" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="300" x2="100" y2="283" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="283" x2="116" y2="283" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="116" y1="283" x2="116" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="116" y1="300" x2="116" y2="316" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="116" y1="316" x2="100" y2="316" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="316" x2="100" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="333" x2="116" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="116" y1="333" x2="133" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="333" x2="133" y2="316" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="316" x2="150" y2="316" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="150" y1="316" x2="150" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="150" y1="333" x2="166" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="333" x2="183" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="183" y1="333" x2="183" y2="316" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="183" y1="316" x2="166" y2="316" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="316" x2="166" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="300" x2="183" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="183" y1="300" x2="183" y2="283" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="183" y1="283" x2="166" y2="283" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="283" x2="150" y2="283" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="150" y1="283" x2="150" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="150" y1="300" x2="133" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="300" x2="133" y2="283" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="283" x2="133" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="266" x2="133" y2="250" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="250" x2="150" y2="250" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="150" y1="250" x2="150" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="150" y1="266" x2="166" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="266" x2="183" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="183" y1="266" x2="183" y2="250" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="183" y1="250" x2="166" y2="250" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="250" x2="166" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="233" x2="183" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="183" y1="233" x2="183" y2="216" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="183" y1="216" x2="166" y2="216" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="216" x2="150" y2="216" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="150" y1="216" x2="150" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="150" y1="233" x2="133" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="233" x2="133" y2="216" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="216" x2="116" y2="216" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="116" y1="216" x2="100" y2="216" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="216" x2="100" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="233" x2="116" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="116" y1="233" x2="116" y2="250" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="116" y1="250" x2="116" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="116" y1="266" x2="100" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="266" x2="100" y2="250" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="250" x2="83" y2="250" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="83" y1="250" x2="83" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="83" y1="266" x2="66" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="266" x2="66" y2="250" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="250" x2="66" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="233" x2="83" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="83" y1="233" x2="83" y2="216" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="83" y1="216" x2="66" y2="216" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="216" x2="66" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="200" x2="66" y2="183" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="183" x2="83" y2="183" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="83" y1="183" x2="83" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="83" y1="200" x2="100" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="200" x2="116" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="116" y1="200" x2="116" y2="183" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="116" y1="183" x2="100" y2="183" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="183" x2="100" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="166" x2="116" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="116" y1="166" x2="116" y2="150" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="116" y1="150" x2="100" y2="150" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="150" x2="83" y2="150" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="83" y1="150" x2="83" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="83" y1="166" x2="66" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="166" x2="66" y2="150" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="150" x2="66" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="133" x2="83" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="83" y1="133" x2="83" y2="116" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="83" y1="116" x2="66" y2="116" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="116" x2="66" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="100" x2="66" y2="83" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="83" x2="83" y2="83" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="83" y1="83" x2="83" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="83" y1="100" x2="100" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="100" x2="100" y2="83" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="83" x2="116" y2="83" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="116" y1="83" x2="116" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="116" y1="100" x2="116" y2="116" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="116" y1="116" x2="100" y2="116" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="116" x2="100" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="133" x2="116" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="116" y1="133" x2="133" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="133" x2="150" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="150" y1="133" x2="150" y2="116" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="150" y1="116" x2="133" y2="116" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="116" x2="133" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="100" x2="133" y2="83" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="83" x2="150" y2="83" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="150" y1="83" x2="150" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="150" y1="100" x2="166" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="100" x2="166" y2="83" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="83" x2="183" y2="83" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="183" y1="83" x2="183" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="183" y1="100" x2="183" y2="116" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="183" y1="116" x2="166" y2="116" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="116" x2="166" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="133" x2="183" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="183" y1="133" x2="183" y2="150" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="183" y1="150" x2="183" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="183" y1="166" x2="166" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="166" x2="166" y2="150" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="150" x2="150" y2="150" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="150" y1="150" x2="133" y2="150" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="150" x2="133" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="166" x2="150" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="150" y1="166" x2="150" y2="183" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="150" y1="183" x2="133" y2="183" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="183" x2="133" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="200" x2="150" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="150" y1="200" x2="166" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="200" x2="166" y2="183" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="183" x2="183" y2="183" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="183" y1="183" x2="183" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="183" y1="200" x2="200" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="200" x2="200" y2="183" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="183" x2="216" y2="183" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="216" y1="183" x2="216" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="216" y1="200" x2="233" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="200" x2="250" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="250" y1="200" x2="250" y2="183" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="250" y1="183" x2="233" y2="183" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="183" x2="233" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="166" x2="250" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="250" y1="166" x2="250" y2="150" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="250" y1="150" x2="233" y2="150" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="150" x2="216" y2="150" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="216" y1="150" x2="216" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="216" y1="166" x2="200" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="166" x2="200" y2="150" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="150" x2="200" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="133" x2="216" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="216" y1="133" x2="216" y2="116" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="216" y1="116" x2="200" y2="116" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="116" x2="200" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="100" x2="200" y2="83" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="83" x2="216" y2="83" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="216" y1="83" x2="216" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="216" y1="100" x2="233" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="100" x2="233" y2="83" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="83" x2="250" y2="83" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="250" y1="83" x2="250" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="250" y1="100" x2="250" y2="116" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="250" y1="116" x2="233" y2="116" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="116" x2="233" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="133" x2="250" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="250" y1="133" x2="266" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="133" x2="283" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="283" y1="133" x2="283" y2="116" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="283" y1="116" x2="266" y2="116" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="116" x2="266" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="100" x2="266" y2="83" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="83" x2="283" y2="83" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="283" y1="83" x2="283" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="283" y1="100" x2="300" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="100" x2="300" y2="83" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="83" x2="316" y2="83" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="316" y1="83" x2="316" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="316" y1="100" x2="316" y2="116" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="316" y1="116" x2="300" y2="116" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="116" x2="300" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="133" x2="316" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="316" y1="133" x2="316" y2="150" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="316" y1="150" x2="316" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="316" y1="166" x2="300" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="166" x2="300" y2="150" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="150" x2="283" y2="150" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="283" y1="150" x2="266" y2="150" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="150" x2="266" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="166" x2="283" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="283" y1="166" x2="283" y2="183" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="283" y1="183" x2="266" y2="183" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="183" x2="266" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="200" x2="283" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="283" y1="200" x2="300" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="200" x2="300" y2="183" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="183" x2="316" y2="183" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="316" y1="183" x2="316" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="316" y1="200" x2="316" y2="216" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="316" y1="216" x2="300" y2="216" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="216" x2="300" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="233" x2="316" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="316" y1="233" x2="316" y2="250" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="316" y1="250" x2="316" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="316" y1="266" x2="300" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="266" x2="300" y2="250" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="250" x2="283" y2="250" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="283" y1="250" x2="283" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="283" y1="266" x2="266" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="266" x2="266" y2="250" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="250" x2="266" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="233" x2="283" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="283" y1="233" x2="283" y2="216" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="283" y1="216" x2="266" y2="216" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="216" x2="250" y2="216" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="250" y1="216" x2="250" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="250" y1="233" x2="233" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="233" x2="233" y2="216" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="216" x2="216" y2="216" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="216" y1="216" x2="200" y2="216" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="216" x2="200" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="233" x2="216" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="216" y1="233" x2="216" y2="250" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="216" y1="250" x2="200" y2="250" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="250" x2="200" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="266" x2="216" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="216" y1="266" x2="233" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="266" x2="233" y2="250" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="250" x2="250" y2="250" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="250" y1="250" x2="250" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="250" y1="266" x2="250" y2="283" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="250" y1="283" x2="250" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="250" y1="300" x2="233" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="300" x2="233" y2="283" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="283" x2="216" y2="283" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="216" y1="283" x2="200" y2="283" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="283" x2="200" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="300" x2="216" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="216" y1="300" x2="216" y2="316" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="216" y1="316" x2="200" y2="316" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="316" x2="200" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="333" x2="216" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="216" y1="333" x2="233" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="333" x2="233" y2="316" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="316" x2="250" y2="316" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="250" y1="316" x2="250" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="250" y1="333" x2="266" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="333" x2="283" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="283" y1="333" x2="283" y2="316" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="283" y1="316" x2="266" y2="316" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="316" x2="266" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="300" x2="266" y2="283" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="283" x2="283" y2="283" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="283" y1="283" x2="283" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="283" y1="300" x2="300" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="300" x2="300" y2="283" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="283" x2="316" y2="283" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="316" y1="283" x2="316" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="316" y1="300" x2="316" y2="316" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="316" y1="316" x2="300" y2="316" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="316" x2="300" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="333" x2="316" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;p&gt;
          Below, I'll go through the definitions and some informal proofs of the Hilbert curve. For those familiar with Hilbert curves or only interested in Lean, please skip to the &lt;a href="https://josephmckinsey.com/leanhilbertcurves.html"&gt;next post&lt;/a&gt;, where I present portions of the &lt;a href="https://github.com/josephmckinsey/LeanHilbertCurves"&gt;full formalization&lt;/a&gt;.&lt;/p&gt;
        &lt;p&gt;
          If a weird curve that appears two-dimensional isn't interesting or pathological enough for you, the discrete versions by themselves are quite useful. They provide a continuous mapping of integers to 2D coordinates which is pleasant when giving a 1D coordinate for the Earth in &lt;a href="http://s2geometry.io/"&gt;S2 Geometry&lt;/a&gt;,  or visualizing &lt;a href="https://phiresky.github.io/blog/2025/visualizing-all-books-in-isbn-space/"&gt;ISBNs&lt;/a&gt; and &lt;a href="https://davidchall.github.io/ggip/articles/visualizing-ip-data.html"&gt;IP addresses&lt;/a&gt;.&lt;/p&gt;
        &lt;section&gt;
          &lt;h2&gt;
            &lt;span id="definition"&gt;The Definition of the Hilbert Curve&lt;/span&gt;&lt;/h2&gt;
          &lt;p&gt;
            First, we're going to go through definitions, which constitute all you need for plotting and visualization. Unlike most mathematical objects, their properties can be revealed succinctly through drawings and a few sentences. After that, some proofs.&lt;/p&gt;
          &lt;section&gt;
            &lt;h3&gt;
              &lt;span id="integerdefinition"&gt;Integer Version&lt;/span&gt;&lt;/h3&gt;
            &lt;p&gt;
              &lt;strong&gt;Informal Definition&lt;/strong&gt;: The 0th Hilbert curve is the constant &lt;code class="math inline"&gt;(0, 0)&lt;/code&gt;. To construct the &lt;code class="math inline"&gt;n&lt;/code&gt;th Hilbert curve, take 4 copies of the &lt;code class="math inline"&gt;(n-1)&lt;/code&gt;th Hilbert curve and stitch them together. To show the transformations more clearly, we'll draw the &lt;code class="math inline"&gt;(n-1)&lt;/code&gt;th iteration more abstractly as a shape:&lt;/p&gt;
            &lt;img src="hilbertcurve/hamster_alone.svg" alt="Our hypothesized curve moving from left to right, depicted as a hamster on an arrow." style="max-width: 25%; margin: 0 auto; display: block;"&gt;&lt;/img&gt;&lt;p&gt;
              where we start at &lt;code class="math inline"&gt;(0, 0)&lt;/code&gt; and end on the right. Then we'll assemble them as in the diagram below:&lt;/p&gt;
            &lt;img src="hilbertcurve/hamster_together.svg" alt="How we put our curve together, depicted as 4 squares containing hamsters moving up, right, right, and down so that the hamster's back is 'in' the square." style="max-width: 50%; margin: 0 auto; display: block;"&gt;&lt;/img&gt;&lt;p&gt;
              I tend to think of the integer Hilbert curve as little blocks instead of tiny curves, so we can diagram them as a sequence of colored squares:&lt;/p&gt;
            &lt;svg width="25%" height="25%" viewbox="0 0 400 400" alt="The 2nd iteration of the hilbert curve, where the curve connects squares." xmlns="http://www.w3.org/2000/svg" version="1.1" width="400" height="400"&gt;&lt;polygon fillrule="nonzero" points=" 6,393 126,393 126,273 6,273" fill="rgb(255.000000, 204.000000, 204.000000)" id="square0"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 6,260 126,260 126,140 6,140" fill="rgb(255.000000, 204.000000, 204.000000)" id="square1"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 140,260 260,260 260,140 140,140" fill="rgb(255.000000, 204.000000, 204.000000)" id="square2"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 140,393 260,393 260,273 140,273" fill="rgb(255.000000, 204.000000, 204.000000)" id="square3"&gt;&lt;/polygon&gt;&lt;line x1="66" y1="333" x2="66" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="200" x2="200" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="200" x2="200" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;svg width="25%" height="25%" viewbox="0 0 400 400" alt="The 2nd iteration of the hilbert curve, where the curve connects squares." xmlns="http://www.w3.org/2000/svg" version="1.1" width="400" height="400"&gt;&lt;polygon fillrule="nonzero" points=" 36,363 96,363 96,303 36,303" fill="rgb(255.000000, 204.000000, 204.000000)" id="square0"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 103,363 163,363 163,303 103,303" fill="rgb(255.000000, 204.000000, 204.000000)" id="square1"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 103,296 163,296 163,236 103,236" fill="rgb(255.000000, 204.000000, 204.000000)" id="square2"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 36,296 96,296 96,236 36,236" fill="rgb(255.000000, 204.000000, 204.000000)" id="square3"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 36,230 96,230 96,170 36,170" fill="rgb(255.000000, 204.000000, 204.000000)" id="square4"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 36,163 96,163 96,103 36,103" fill="rgb(255.000000, 204.000000, 204.000000)" id="square5"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 103,163 163,163 163,103 103,103" fill="rgb(255.000000, 204.000000, 204.000000)" id="square6"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 103,230 163,230 163,170 103,170" fill="rgb(255.000000, 204.000000, 204.000000)" id="square7"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 170,230 230,230 230,170 170,170" fill="rgb(255.000000, 204.000000, 204.000000)" id="square8"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 170,163 230,163 230,103 170,103" fill="rgb(255.000000, 204.000000, 204.000000)" id="square9"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 236,163 296,163 296,103 236,103" fill="rgb(255.000000, 204.000000, 204.000000)" id="square10"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 236,230 296,230 296,170 236,170" fill="rgb(255.000000, 204.000000, 204.000000)" id="square11"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 236,296 296,296 296,236 236,236" fill="rgb(255.000000, 204.000000, 204.000000)" id="square12"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 170,296 230,296 230,236 170,236" fill="rgb(255.000000, 204.000000, 204.000000)" id="square13"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 170,363 230,363 230,303 170,303" fill="rgb(255.000000, 204.000000, 204.000000)" id="square14"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 236,363 296,363 296,303 236,303" fill="rgb(255.000000, 204.000000, 204.000000)" id="square15"&gt;&lt;/polygon&gt;&lt;line x1="66" y1="333" x2="133" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="333" x2="133" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="266" x2="66" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="266" x2="66" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="200" x2="66" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="133" x2="133" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="133" x2="133" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="200" x2="200" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="200" x2="200" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="133" x2="266" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="133" x2="266" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="200" x2="266" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="266" x2="200" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="266" x2="200" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="333" x2="266" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;svg width="25%" height="25%" viewbox="0 0 400 400" alt="The 2nd iteration of the hilbert curve, where the curve connects squares." xmlns="http://www.w3.org/2000/svg" version="1.1" width="400" height="400"&gt;&lt;polygon fillrule="nonzero" points=" 51,348 81,348 81,318 51,318" fill="rgb(255.000000, 204.000000, 204.000000)" id="square0"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 51,315 81,315 81,285 51,285" fill="rgb(255.000000, 204.000000, 204.000000)" id="square1"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 85,315 115,315 115,285 85,285" fill="rgb(255.000000, 204.000000, 204.000000)" id="square2"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 85,348 115,348 115,318 85,318" fill="rgb(255.000000, 204.000000, 204.000000)" id="square3"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 118,348 148,348 148,318 118,318" fill="rgb(255.000000, 204.000000, 204.000000)" id="square4"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 151,348 181,348 181,318 151,318" fill="rgb(255.000000, 204.000000, 204.000000)" id="square5"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 151,315 181,315 181,285 151,285" fill="rgb(255.000000, 204.000000, 204.000000)" id="square6"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 118,315 148,315 148,285 118,285" fill="rgb(255.000000, 204.000000, 204.000000)" id="square7"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 118,281 148,281 148,251 118,251" fill="rgb(255.000000, 204.000000, 204.000000)" id="square8"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 151,281 181,281 181,251 151,251" fill="rgb(255.000000, 204.000000, 204.000000)" id="square9"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 151,248 181,248 181,218 151,218" fill="rgb(255.000000, 204.000000, 204.000000)" id="square10"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 118,248 148,248 148,218 118,218" fill="rgb(255.000000, 204.000000, 204.000000)" id="square11"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 85,248 115,248 115,218 85,218" fill="rgb(255.000000, 204.000000, 204.000000)" id="square12"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 85,281 115,281 115,251 85,251" fill="rgb(255.000000, 204.000000, 204.000000)" id="square13"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 51,281 81,281 81,251 51,251" fill="rgb(255.000000, 204.000000, 204.000000)" id="square14"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 51,248 81,248 81,218 51,218" fill="rgb(255.000000, 204.000000, 204.000000)" id="square15"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 51,215 81,215 81,185 51,185" fill="rgb(255.000000, 204.000000, 204.000000)" id="square16"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 85,215 115,215 115,185 85,185" fill="rgb(255.000000, 204.000000, 204.000000)" id="square17"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 85,181 115,181 115,151 85,151" fill="rgb(255.000000, 204.000000, 204.000000)" id="square18"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 51,181 81,181 81,151 51,151" fill="rgb(255.000000, 204.000000, 204.000000)" id="square19"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 51,148 81,148 81,118 51,118" fill="rgb(255.000000, 204.000000, 204.000000)" id="square20"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 51,115 81,115 81,85 51,85" fill="rgb(255.000000, 204.000000, 204.000000)" id="square21"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 85,115 115,115 115,85 85,85" fill="rgb(255.000000, 204.000000, 204.000000)" id="square22"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 85,148 115,148 115,118 85,118" fill="rgb(255.000000, 204.000000, 204.000000)" id="square23"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 118,148 148,148 148,118 118,118" fill="rgb(255.000000, 204.000000, 204.000000)" id="square24"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 118,115 148,115 148,85 118,85" fill="rgb(255.000000, 204.000000, 204.000000)" id="square25"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 151,115 181,115 181,85 151,85" fill="rgb(255.000000, 204.000000, 204.000000)" id="square26"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 151,148 181,148 181,118 151,118" fill="rgb(255.000000, 204.000000, 204.000000)" id="square27"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 151,181 181,181 181,151 151,151" fill="rgb(255.000000, 204.000000, 204.000000)" id="square28"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 118,181 148,181 148,151 118,151" fill="rgb(255.000000, 204.000000, 204.000000)" id="square29"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 118,215 148,215 148,185 118,185" fill="rgb(255.000000, 204.000000, 204.000000)" id="square30"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 151,215 181,215 181,185 151,185" fill="rgb(255.000000, 204.000000, 204.000000)" id="square31"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 185,215 215,215 215,185 185,185" fill="rgb(255.000000, 204.000000, 204.000000)" id="square32"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 218,215 248,215 248,185 218,185" fill="rgb(255.000000, 204.000000, 204.000000)" id="square33"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 218,181 248,181 248,151 218,151" fill="rgb(255.000000, 204.000000, 204.000000)" id="square34"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 185,181 215,181 215,151 185,151" fill="rgb(255.000000, 204.000000, 204.000000)" id="square35"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 185,148 215,148 215,118 185,118" fill="rgb(255.000000, 204.000000, 204.000000)" id="square36"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 185,115 215,115 215,85 185,85" fill="rgb(255.000000, 204.000000, 204.000000)" id="square37"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 218,115 248,115 248,85 218,85" fill="rgb(255.000000, 204.000000, 204.000000)" id="square38"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 218,148 248,148 248,118 218,118" fill="rgb(255.000000, 204.000000, 204.000000)" id="square39"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 251,148 281,148 281,118 251,118" fill="rgb(255.000000, 204.000000, 204.000000)" id="square40"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 251,115 281,115 281,85 251,85" fill="rgb(255.000000, 204.000000, 204.000000)" id="square41"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 285,115 315,115 315,85 285,85" fill="rgb(255.000000, 204.000000, 204.000000)" id="square42"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 285,148 315,148 315,118 285,118" fill="rgb(255.000000, 204.000000, 204.000000)" id="square43"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 285,181 315,181 315,151 285,151" fill="rgb(255.000000, 204.000000, 204.000000)" id="square44"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 251,181 281,181 281,151 251,151" fill="rgb(255.000000, 204.000000, 204.000000)" id="square45"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 251,215 281,215 281,185 251,185" fill="rgb(255.000000, 204.000000, 204.000000)" id="square46"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 285,215 315,215 315,185 285,185" fill="rgb(255.000000, 204.000000, 204.000000)" id="square47"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 285,248 315,248 315,218 285,218" fill="rgb(255.000000, 204.000000, 204.000000)" id="square48"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 285,281 315,281 315,251 285,251" fill="rgb(255.000000, 204.000000, 204.000000)" id="square49"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 251,281 281,281 281,251 251,251" fill="rgb(255.000000, 204.000000, 204.000000)" id="square50"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 251,248 281,248 281,218 251,218" fill="rgb(255.000000, 204.000000, 204.000000)" id="square51"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 218,248 248,248 248,218 218,218" fill="rgb(255.000000, 204.000000, 204.000000)" id="square52"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 185,248 215,248 215,218 185,218" fill="rgb(255.000000, 204.000000, 204.000000)" id="square53"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 185,281 215,281 215,251 185,251" fill="rgb(255.000000, 204.000000, 204.000000)" id="square54"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 218,281 248,281 248,251 218,251" fill="rgb(255.000000, 204.000000, 204.000000)" id="square55"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 218,315 248,315 248,285 218,285" fill="rgb(255.000000, 204.000000, 204.000000)" id="square56"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 185,315 215,315 215,285 185,285" fill="rgb(255.000000, 204.000000, 204.000000)" id="square57"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 185,348 215,348 215,318 185,318" fill="rgb(255.000000, 204.000000, 204.000000)" id="square58"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 218,348 248,348 248,318 218,318" fill="rgb(255.000000, 204.000000, 204.000000)" id="square59"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 251,348 281,348 281,318 251,318" fill="rgb(255.000000, 204.000000, 204.000000)" id="square60"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 251,315 281,315 281,285 251,285" fill="rgb(255.000000, 204.000000, 204.000000)" id="square61"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 285,315 315,315 315,285 285,285" fill="rgb(255.000000, 204.000000, 204.000000)" id="square62"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 285,348 315,348 315,318 285,318" fill="rgb(255.000000, 204.000000, 204.000000)" id="square63"&gt;&lt;/polygon&gt;&lt;line x1="66" y1="333" x2="66" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="300" x2="100" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="300" x2="100" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="333" x2="133" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="333" x2="166" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="333" x2="166" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="300" x2="133" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="300" x2="133" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="266" x2="166" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="266" x2="166" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="233" x2="133" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="233" x2="100" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="233" x2="100" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="266" x2="66" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="266" x2="66" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="233" x2="66" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="200" x2="100" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="200" x2="100" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="166" x2="66" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="166" x2="66" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="133" x2="66" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="100" x2="100" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="100" x2="100" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="133" x2="133" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="133" x2="133" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="100" x2="166" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="100" x2="166" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="133" x2="166" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="166" x2="133" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="166" x2="133" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="200" x2="166" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="200" x2="200" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="200" x2="233" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="200" x2="233" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="166" x2="200" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="166" x2="200" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="133" x2="200" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="100" x2="233" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="100" x2="233" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="133" x2="266" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="133" x2="266" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="100" x2="300" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="100" x2="300" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="133" x2="300" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="166" x2="266" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="166" x2="266" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="200" x2="300" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="200" x2="300" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="233" x2="300" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="266" x2="266" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="266" x2="266" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="233" x2="233" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="233" x2="200" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="233" x2="200" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="266" x2="233" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="266" x2="233" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="300" x2="200" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="300" x2="200" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="333" x2="233" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="333" x2="266" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="333" x2="266" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="300" x2="300" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="300" x2="300" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="534" fill="none"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;p&gt;
              &lt;strong&gt;Formal Definition&lt;/strong&gt;: On the integers, we'll define a Hilbert curve &lt;code class="math inline"&gt;H_n : \mathbb{N} \to \mathbb{N} \times \mathbb{N}&lt;/code&gt; recursively as follows.&lt;/p&gt;
            &lt;ol start="1"&gt;
              &lt;li&gt;
                &lt;p&gt;
                  &lt;code class="math inline"&gt;H_0(i) = (0, 0)&lt;/code&gt;.&lt;/p&gt;
                &lt;/li&gt;
              &lt;li&gt;
                &lt;p&gt;
                  &lt;code class="math display"&gt;H_n(i) = \begin{cases}
	swap(H_{n-1}(i)) &amp;\text{ if } i &amp;lt; 2^{2(n-1)} \\
	H_{n-1}(i - 2^{2(n-1)}) + (2^{n-1}, 0) &amp;\text{ if } 2^{2(n-1)} \le i &amp;lt; 2 \cdot 2^{2(n-1)} \\
	H_{n-1}(i - 2 \cdot 2^{2(n-1)}) + (2^{n-1}, 2^{n-1}) &amp;\text{ if } 2 \cdot 2^{2(n-1)} \le i &amp;lt; 3 \cdot 2^{2(n-1)} \\
	(2^n - 1, 2^{n-1} - 1) - swap(H_n(i - 3 \cdot 2^{2^(n-1)})) &amp;\text{ if } 3 \cdot 2^{2(n-1)} \le i
   \end{cases}&lt;/code&gt;
   where &lt;code class="math inline"&gt;swap((m, n)) = (n, m)&lt;/code&gt;.&lt;/p&gt;
                &lt;/li&gt;
              &lt;/ol&gt;
            &lt;p&gt;
              We will focus on the first &lt;code class="math inline"&gt;2^{2 n}&lt;/code&gt; indices on the curve, which fill up a grid from &lt;code class="math inline"&gt;[0, 2^n) \times [0, 2^n)&lt;/code&gt;. From the picture, it's clear that no two indices go to the same square on the grid.&lt;/p&gt;
            &lt;/section&gt;
          &lt;section&gt;
            &lt;h3&gt;
              &lt;span id="normalizeddefinition"&gt;Normalized and Interpolated Version&lt;/span&gt;&lt;/h3&gt;
            &lt;p&gt;
              We can also interpolate and rescale each iteration to get a different kind of picture.&lt;/p&gt;
            &lt;p&gt;
              &lt;strong&gt;Informal Definition&lt;/strong&gt;: We interpolate the &lt;code class="math inline"&gt;n&lt;/code&gt;th Hilbert curve to get a curve &lt;code class="math inline"&gt;\mathbb{R} \to \mathbb{R}&lt;/code&gt;, then we scale the down the input by &lt;code class="math inline"&gt;\frac{1}{2^{2n}}&lt;/code&gt; so it goes from &lt;code class="math inline"&gt;[0, 1]&lt;/code&gt;, then we scale down the output by &lt;code class="math inline"&gt;\frac{1}{2^n}&lt;/code&gt; so it fits in &lt;code class="math inline"&gt;[0, 1] \times [0, 1]&lt;/code&gt;.&lt;/p&gt;
            &lt;p&gt;
              Now, our pictures will look like the more recognizable (to some) Hilbert curve:&lt;/p&gt;
            &lt;svg style="max-width: 50%; margin: 0 auto; display: block;" alt="A simple example of iteration 3 of the Hilbert Curve." xmlns="http://www.w3.org/2000/svg" version="1.1" width="400" height="400"&gt;&lt;line x1="66" y1="333" x2="66" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="300" x2="100" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="300" x2="100" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="333" x2="133" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="333" x2="166" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="333" x2="166" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="300" x2="133" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="300" x2="133" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="266" x2="166" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="266" x2="166" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="233" x2="133" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="233" x2="100" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="233" x2="100" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="266" x2="66" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="266" x2="66" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="233" x2="66" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="200" x2="100" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="200" x2="100" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="166" x2="66" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="166" x2="66" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="133" x2="66" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="100" x2="100" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="100" x2="100" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="133" x2="133" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="133" x2="133" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="100" x2="166" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="100" x2="166" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="133" x2="166" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="166" x2="133" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="166" x2="133" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="200" x2="166" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="200" x2="200" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="200" x2="233" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="200" x2="233" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="166" x2="200" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="166" x2="200" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="133" x2="200" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="100" x2="233" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="100" x2="233" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="133" x2="266" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="133" x2="266" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="100" x2="300" y2="100" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="100" x2="300" y2="133" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="133" x2="300" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="166" x2="266" y2="166" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="166" x2="266" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="200" x2="300" y2="200" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="200" x2="300" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="233" x2="300" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="266" x2="266" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="266" x2="266" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="233" x2="233" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="233" x2="200" y2="233" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="233" x2="200" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="266" x2="233" y2="266" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="266" x2="233" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="300" x2="200" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="300" x2="200" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="333" x2="233" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="333" x2="266" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="333" x2="266" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="300" x2="300" y2="300" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="300" x2="300" y2="333" stroke="rgb(0.000000, 0.000000, 255.000000)" strokewidth="1" fill="none"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;p&gt;
              &lt;strong&gt;Formal Definition&lt;/strong&gt;: The normalized Hilbert curve &lt;code class="math inline"&gt;\tilde{H}_n : \mathbb{R} \to \mathbb{R}&lt;/code&gt; is defined as
&lt;code class="math display"&gt;\tilde{H}_n(t) = \frac{1}{2^n} \left( (t \cdot 2^{2n} - \lfloor t \cdot 2^{2n} \rfloor) H_n(\lfloor t \cdot 2^{2n} \rfloor + 1) + (1 - t \cdot 2^{2n} + \lfloor t \cdot 2^{2n} \rfloor) H_n(\lfloor t \cdot 2^{2 n} \rfloor) \right)&lt;/code&gt;
Alternatively, if &lt;code class="math inline"&gt;L(x, y, t) = (1 - t) x + t y&lt;/code&gt;, then
&lt;code class="math display"&gt;\tilde{H}_n(t) = \frac{1}{2^n} L(H_n(\lfloor t \cdot 2^{2 n} \rfloor), H_i(\lfloor t \cdot 2^{2 n} \rfloor + 1), t \cdot 2^{2 n} - \lfloor t \cdot 2^{2 n} \rfloor)&lt;/code&gt;
From our pictures, it's also clear that the curve is not only continuous, but each iteration doesn't move that much from the previous--&lt;code class="math inline"&gt;H_n(i)&lt;/code&gt; is only one block off from &lt;code class="math inline"&gt;H_i(i + 1)&lt;/code&gt;.&lt;/p&gt;
            &lt;/section&gt;
          &lt;section&gt;
            &lt;h3&gt;
              &lt;span id="limitdefinition"&gt;Limit version&lt;/span&gt;&lt;/h3&gt;
            &lt;p&gt;
              The Hilbert curve iterations also satisfy an important property that we need for the next definition. Each time we iterate, we "refine" the Hilbert curve.&lt;/p&gt;
            &lt;p&gt;
              &lt;strong&gt;Informal Lemma&lt;/strong&gt;: If you are in a square of the old Hilbert curve, then the next iteration only splits that square, so you'll remain there in future iterations.&lt;/p&gt;
            &lt;p&gt;
              From our colorful picture before, the color represented the position in the sequence, so this translates to iterations mostly preserving color:&lt;/p&gt;
            &lt;svg style="max-width: 50%; margin: 0 auto; display: block;" alt="The 2nd iteration of the hilbert curve, where the colors
    change from red, blue, etc, back to red." xmlns="http://www.w3.org/2000/svg" version="1.1" width="400" height="400"&gt;&lt;polygon fillrule="nonzero" points=" 66,333 133,333 133,266 66,266" fill="rgb(255.000000, 0.000000, 0.000000)" id="square0"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 133,333 200,333 200,266 133,266" fill="rgb(255.000000, 95.625000, 0.000000)" id="square1"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 133,266 200,266 200,200 133,200" fill="rgb(255.000000, 191.250000, 0.000000)" id="square2"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 66,266 133,266 133,200 66,200" fill="rgb(223.125000, 255.000000, 0.000000)" id="square3"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 66,200 133,200 133,133 66,133" fill="rgb(127.500000, 255.000000, 0.000000)" id="square4"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 66,133 133,133 133,66 66,66" fill="rgb(31.875000, 255.000000, 0.000000)" id="square5"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 133,133 200,133 200,66 133,66" fill="rgb(0.000000, 255.000000, 63.750000)" id="square6"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 133,200 200,200 200,133 133,133" fill="rgb(0.000000, 255.000000, 159.375000)" id="square7"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 200,200 266,200 266,133 200,133" fill="rgb(0.000000, 255.000000, 255.000000)" id="square8"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 200,133 266,133 266,66 200,66" fill="rgb(0.000000, 159.375000, 255.000000)" id="square9"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 266,133 333,133 333,66 266,66" fill="rgb(0.000000, 63.750000, 255.000000)" id="square10"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 266,200 333,200 333,133 266,133" fill="rgb(31.875000, 0.000000, 255.000000)" id="square11"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 266,266 333,266 333,200 266,200" fill="rgb(127.500000, 0.000000, 255.000000)" id="square12"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 200,266 266,266 266,200 200,200" fill="rgb(223.125000, 0.000000, 255.000000)" id="square13"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 200,333 266,333 266,266 200,266" fill="rgb(255.000000, 0.000000, 191.250000)" id="square14"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 266,333 333,333 333,266 266,266" fill="rgb(255.000000, 0.000000, 95.625000)" id="square15"&gt;&lt;/polygon&gt;&lt;/svg&gt;&lt;svg style="max-width: 50%; margin: 0 auto; display: block;" alt="The 3rd iteration of the hilbert curve, where the colors
    change from red, blue, etc, back to red. The colors haven't changed much since the 2nd iteration." xmlns="http://www.w3.org/2000/svg" version="1.1" width="400" height="400"&gt;&lt;polygon fillrule="nonzero" points=" 66,333 100,333 100,300 66,300" fill="rgb(255.000000, 0.000000, 0.000000)" id="square0"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 66,300 100,300 100,266 66,266" fill="rgb(255.000000, 23.906250, 0.000000)" id="square1"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 100,300 133,300 133,266 100,266" fill="rgb(255.000000, 47.812500, 0.000000)" id="square2"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 100,333 133,333 133,300 100,300" fill="rgb(255.000000, 71.718750, 0.000000)" id="square3"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 133,333 166,333 166,300 133,300" fill="rgb(255.000000, 95.625000, 0.000000)" id="square4"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 166,333 200,333 200,300 166,300" fill="rgb(255.000000, 119.531250, 0.000000)" id="square5"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 166,300 200,300 200,266 166,266" fill="rgb(255.000000, 143.437500, 0.000000)" id="square6"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 133,300 166,300 166,266 133,266" fill="rgb(255.000000, 167.343750, 0.000000)" id="square7"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 133,266 166,266 166,233 133,233" fill="rgb(255.000000, 191.250000, 0.000000)" id="square8"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 166,266 200,266 200,233 166,233" fill="rgb(255.000000, 215.156250, 0.000000)" id="square9"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 166,233 200,233 200,200 166,200" fill="rgb(255.000000, 239.062500, 0.000000)" id="square10"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 133,233 166,233 166,200 133,200" fill="rgb(247.031250, 255.000000, 0.000000)" id="square11"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 100,233 133,233 133,200 100,200" fill="rgb(223.125000, 255.000000, 0.000000)" id="square12"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 100,266 133,266 133,233 100,233" fill="rgb(199.218750, 255.000000, 0.000000)" id="square13"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 66,266 100,266 100,233 66,233" fill="rgb(175.312500, 255.000000, 0.000000)" id="square14"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 66,233 100,233 100,200 66,200" fill="rgb(151.406250, 255.000000, 0.000000)" id="square15"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 66,200 100,200 100,166 66,166" fill="rgb(127.500000, 255.000000, 0.000000)" id="square16"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 100,200 133,200 133,166 100,166" fill="rgb(103.593750, 255.000000, 0.000000)" id="square17"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 100,166 133,166 133,133 100,133" fill="rgb(79.687500, 255.000000, 0.000000)" id="square18"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 66,166 100,166 100,133 66,133" fill="rgb(55.781250, 255.000000, 0.000000)" id="square19"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 66,133 100,133 100,100 66,100" fill="rgb(31.875000, 255.000000, 0.000000)" id="square20"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 66,100 100,100 100,66 66,66" fill="rgb(7.968750, 255.000000, 0.000000)" id="square21"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 100,100 133,100 133,66 100,66" fill="rgb(0.000000, 255.000000, 15.937500)" id="square22"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 100,133 133,133 133,100 100,100" fill="rgb(0.000000, 255.000000, 39.843750)" id="square23"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 133,133 166,133 166,100 133,100" fill="rgb(0.000000, 255.000000, 63.750000)" id="square24"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 133,100 166,100 166,66 133,66" fill="rgb(0.000000, 255.000000, 87.656250)" id="square25"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 166,100 200,100 200,66 166,66" fill="rgb(0.000000, 255.000000, 111.562500)" id="square26"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 166,133 200,133 200,100 166,100" fill="rgb(0.000000, 255.000000, 135.468750)" id="square27"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 166,166 200,166 200,133 166,133" fill="rgb(0.000000, 255.000000, 159.375000)" id="square28"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 133,166 166,166 166,133 133,133" fill="rgb(0.000000, 255.000000, 183.281250)" id="square29"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 133,200 166,200 166,166 133,166" fill="rgb(0.000000, 255.000000, 207.187500)" id="square30"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 166,200 200,200 200,166 166,166" fill="rgb(0.000000, 255.000000, 231.093750)" id="square31"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 200,200 233,200 233,166 200,166" fill="rgb(0.000000, 255.000000, 255.000000)" id="square32"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 233,200 266,200 266,166 233,166" fill="rgb(0.000000, 231.093750, 255.000000)" id="square33"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 233,166 266,166 266,133 233,133" fill="rgb(0.000000, 207.187500, 255.000000)" id="square34"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 200,166 233,166 233,133 200,133" fill="rgb(0.000000, 183.281250, 255.000000)" id="square35"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 200,133 233,133 233,100 200,100" fill="rgb(0.000000, 159.375000, 255.000000)" id="square36"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 200,100 233,100 233,66 200,66" fill="rgb(0.000000, 135.468750, 255.000000)" id="square37"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 233,100 266,100 266,66 233,66" fill="rgb(0.000000, 111.562500, 255.000000)" id="square38"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 233,133 266,133 266,100 233,100" fill="rgb(0.000000, 87.656250, 255.000000)" id="square39"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 266,133 300,133 300,100 266,100" fill="rgb(0.000000, 63.750000, 255.000000)" id="square40"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 266,100 300,100 300,66 266,66" fill="rgb(0.000000, 39.843750, 255.000000)" id="square41"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 300,100 333,100 333,66 300,66" fill="rgb(0.000000, 15.937500, 255.000000)" id="square42"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 300,133 333,133 333,100 300,100" fill="rgb(7.968750, 0.000000, 255.000000)" id="square43"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 300,166 333,166 333,133 300,133" fill="rgb(31.875000, 0.000000, 255.000000)" id="square44"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 266,166 300,166 300,133 266,133" fill="rgb(55.781250, 0.000000, 255.000000)" id="square45"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 266,200 300,200 300,166 266,166" fill="rgb(79.687500, 0.000000, 255.000000)" id="square46"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 300,200 333,200 333,166 300,166" fill="rgb(103.593750, 0.000000, 255.000000)" id="square47"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 300,233 333,233 333,200 300,200" fill="rgb(127.500000, 0.000000, 255.000000)" id="square48"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 300,266 333,266 333,233 300,233" fill="rgb(151.406250, 0.000000, 255.000000)" id="square49"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 266,266 300,266 300,233 266,233" fill="rgb(175.312500, 0.000000, 255.000000)" id="square50"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 266,233 300,233 300,200 266,200" fill="rgb(199.218750, 0.000000, 255.000000)" id="square51"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 233,233 266,233 266,200 233,200" fill="rgb(223.125000, 0.000000, 255.000000)" id="square52"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 200,233 233,233 233,200 200,200" fill="rgb(247.031250, 0.000000, 255.000000)" id="square53"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 200,266 233,266 233,233 200,233" fill="rgb(255.000000, 0.000000, 239.062500)" id="square54"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 233,266 266,266 266,233 233,233" fill="rgb(255.000000, 0.000000, 215.156250)" id="square55"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 233,300 266,300 266,266 233,266" fill="rgb(255.000000, 0.000000, 191.250000)" id="square56"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 200,300 233,300 233,266 200,266" fill="rgb(255.000000, 0.000000, 167.343750)" id="square57"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 200,333 233,333 233,300 200,300" fill="rgb(255.000000, 0.000000, 143.437500)" id="square58"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 233,333 266,333 266,300 233,300" fill="rgb(255.000000, 0.000000, 119.531250)" id="square59"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 266,333 300,333 300,300 266,300" fill="rgb(255.000000, 0.000000, 95.625000)" id="square60"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 266,300 300,300 300,266 266,266" fill="rgb(255.000000, 0.000000, 71.718750)" id="square61"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 300,300 333,300 333,266 300,266" fill="rgb(255.000000, 0.000000, 47.812500)" id="square62"&gt;&lt;/polygon&gt;&lt;polygon fillrule="nonzero" points=" 300,333 333,333 333,300 300,300" fill="rgb(255.000000, 0.000000, 23.906250)" id="square63"&gt;&lt;/polygon&gt;&lt;/svg&gt;&lt;p&gt;
              This also applies to the normalized version. Now &lt;code class="math inline"&gt;\tilde{H}_n(t)&lt;/code&gt; is close to &lt;code class="math inline"&gt;\tilde{H}_{n+1}(t)&lt;/code&gt;, and each iteraiton brings them closer and closer as the Hilbert curve squares decrease in size.&lt;/p&gt;
            &lt;svg style="max-width: 60%; margin: 0 auto; display: block;" alt="A comparison of the 3rd to 4th iteration of the hilbert curve.
    Many points line up, and points that don't are not too far away." xmlns="http://www.w3.org/2000/svg" version="1.1" width="400" height="400"&gt;&lt;line x1="66" y1="333" x2="66" y2="300" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="300" x2="100" y2="300" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="300" x2="100" y2="333" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="333" x2="133" y2="333" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="333" x2="166" y2="333" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="333" x2="166" y2="300" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="300" x2="133" y2="300" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="300" x2="133" y2="266" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="266" x2="166" y2="266" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="266" x2="166" y2="233" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="233" x2="133" y2="233" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="233" x2="100" y2="233" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="233" x2="100" y2="266" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="266" x2="66" y2="266" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="266" x2="66" y2="233" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="233" x2="66" y2="200" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="200" x2="100" y2="200" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="200" x2="100" y2="166" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="166" x2="66" y2="166" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="166" x2="66" y2="133" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="133" x2="66" y2="100" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="100" x2="100" y2="100" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="100" x2="100" y2="133" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="133" x2="133" y2="133" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="133" x2="133" y2="100" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="100" x2="166" y2="100" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="100" x2="166" y2="133" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="133" x2="166" y2="166" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="166" x2="133" y2="166" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="166" x2="133" y2="200" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="200" x2="166" y2="200" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="200" x2="200" y2="200" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="200" x2="233" y2="200" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="200" x2="233" y2="166" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="166" x2="200" y2="166" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="166" x2="200" y2="133" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="133" x2="200" y2="100" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="100" x2="233" y2="100" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="100" x2="233" y2="133" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="133" x2="266" y2="133" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="133" x2="266" y2="100" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="100" x2="300" y2="100" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="100" x2="300" y2="133" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="133" x2="300" y2="166" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="166" x2="266" y2="166" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="166" x2="266" y2="200" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="200" x2="300" y2="200" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="200" x2="300" y2="233" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="233" x2="300" y2="266" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="266" x2="266" y2="266" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="266" x2="266" y2="233" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="233" x2="233" y2="233" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="233" x2="200" y2="233" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="233" x2="200" y2="266" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="266" x2="233" y2="266" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="266" x2="233" y2="300" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="300" x2="200" y2="300" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="300" x2="200" y2="333" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="333" x2="233" y2="333" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="333" x2="266" y2="333" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="333" x2="266" y2="300" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="300" x2="300" y2="300" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="300" x2="300" y2="333" stroke="rgb(255.000000, 0.000000, 0.000000)" strokewidth="800" fill="none"&gt;&lt;/line&gt;&lt;circle cx="66" cy="333" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point0"&gt;&lt;/circle&gt;&lt;circle cx="66" cy="300" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point1"&gt;&lt;/circle&gt;&lt;circle cx="100" cy="300" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point2"&gt;&lt;/circle&gt;&lt;circle cx="100" cy="333" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point3"&gt;&lt;/circle&gt;&lt;circle cx="133" cy="333" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point4"&gt;&lt;/circle&gt;&lt;circle cx="166" cy="333" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point5"&gt;&lt;/circle&gt;&lt;circle cx="166" cy="300" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point6"&gt;&lt;/circle&gt;&lt;circle cx="133" cy="300" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point7"&gt;&lt;/circle&gt;&lt;circle cx="133" cy="266" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point8"&gt;&lt;/circle&gt;&lt;circle cx="166" cy="266" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point9"&gt;&lt;/circle&gt;&lt;circle cx="166" cy="233" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point10"&gt;&lt;/circle&gt;&lt;circle cx="133" cy="233" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point11"&gt;&lt;/circle&gt;&lt;circle cx="100" cy="233" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point12"&gt;&lt;/circle&gt;&lt;circle cx="100" cy="266" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point13"&gt;&lt;/circle&gt;&lt;circle cx="66" cy="266" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point14"&gt;&lt;/circle&gt;&lt;circle cx="66" cy="233" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point15"&gt;&lt;/circle&gt;&lt;circle cx="66" cy="200" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point16"&gt;&lt;/circle&gt;&lt;circle cx="100" cy="200" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point17"&gt;&lt;/circle&gt;&lt;circle cx="100" cy="166" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point18"&gt;&lt;/circle&gt;&lt;circle cx="66" cy="166" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point19"&gt;&lt;/circle&gt;&lt;circle cx="66" cy="133" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point20"&gt;&lt;/circle&gt;&lt;circle cx="66" cy="100" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point21"&gt;&lt;/circle&gt;&lt;circle cx="100" cy="100" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point22"&gt;&lt;/circle&gt;&lt;circle cx="100" cy="133" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point23"&gt;&lt;/circle&gt;&lt;circle cx="133" cy="133" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point24"&gt;&lt;/circle&gt;&lt;circle cx="133" cy="100" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point25"&gt;&lt;/circle&gt;&lt;circle cx="166" cy="100" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point26"&gt;&lt;/circle&gt;&lt;circle cx="166" cy="133" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point27"&gt;&lt;/circle&gt;&lt;circle cx="166" cy="166" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point28"&gt;&lt;/circle&gt;&lt;circle cx="133" cy="166" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point29"&gt;&lt;/circle&gt;&lt;circle cx="133" cy="200" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point30"&gt;&lt;/circle&gt;&lt;circle cx="166" cy="200" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point31"&gt;&lt;/circle&gt;&lt;circle cx="200" cy="200" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point32"&gt;&lt;/circle&gt;&lt;circle cx="233" cy="200" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point33"&gt;&lt;/circle&gt;&lt;circle cx="233" cy="166" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point34"&gt;&lt;/circle&gt;&lt;circle cx="200" cy="166" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point35"&gt;&lt;/circle&gt;&lt;circle cx="200" cy="133" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point36"&gt;&lt;/circle&gt;&lt;circle cx="200" cy="100" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point37"&gt;&lt;/circle&gt;&lt;circle cx="233" cy="100" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point38"&gt;&lt;/circle&gt;&lt;circle cx="233" cy="133" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point39"&gt;&lt;/circle&gt;&lt;circle cx="266" cy="133" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point40"&gt;&lt;/circle&gt;&lt;circle cx="266" cy="100" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point41"&gt;&lt;/circle&gt;&lt;circle cx="300" cy="100" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point42"&gt;&lt;/circle&gt;&lt;circle cx="300" cy="133" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point43"&gt;&lt;/circle&gt;&lt;circle cx="300" cy="166" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point44"&gt;&lt;/circle&gt;&lt;circle cx="266" cy="166" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point45"&gt;&lt;/circle&gt;&lt;circle cx="266" cy="200" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point46"&gt;&lt;/circle&gt;&lt;circle cx="300" cy="200" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point47"&gt;&lt;/circle&gt;&lt;circle cx="300" cy="233" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point48"&gt;&lt;/circle&gt;&lt;circle cx="300" cy="266" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point49"&gt;&lt;/circle&gt;&lt;circle cx="266" cy="266" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point50"&gt;&lt;/circle&gt;&lt;circle cx="266" cy="233" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point51"&gt;&lt;/circle&gt;&lt;circle cx="233" cy="233" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point52"&gt;&lt;/circle&gt;&lt;circle cx="200" cy="233" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point53"&gt;&lt;/circle&gt;&lt;circle cx="200" cy="266" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point54"&gt;&lt;/circle&gt;&lt;circle cx="233" cy="266" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point55"&gt;&lt;/circle&gt;&lt;circle cx="233" cy="300" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point56"&gt;&lt;/circle&gt;&lt;circle cx="200" cy="300" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point57"&gt;&lt;/circle&gt;&lt;circle cx="200" cy="333" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point58"&gt;&lt;/circle&gt;&lt;circle cx="233" cy="333" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point59"&gt;&lt;/circle&gt;&lt;circle cx="266" cy="333" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point60"&gt;&lt;/circle&gt;&lt;circle cx="266" cy="300" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point61"&gt;&lt;/circle&gt;&lt;circle cx="300" cy="300" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point62"&gt;&lt;/circle&gt;&lt;circle cx="300" cy="333" r="7" fill="rgb(255.000000, 0.000000, 0.000000)" id="point63"&gt;&lt;/circle&gt;&lt;line x1="66" y1="333" x2="83" y2="333" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="83" y1="333" x2="83" y2="316" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="83" y1="316" x2="66" y2="316" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="316" x2="66" y2="300" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="300" x2="66" y2="283" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="283" x2="83" y2="283" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="83" y1="283" x2="83" y2="300" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="83" y1="300" x2="100" y2="300" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="300" x2="100" y2="283" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="283" x2="116" y2="283" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="116" y1="283" x2="116" y2="300" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="116" y1="300" x2="116" y2="316" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="116" y1="316" x2="100" y2="316" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="316" x2="100" y2="333" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="333" x2="116" y2="333" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="116" y1="333" x2="133" y2="333" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="333" x2="133" y2="316" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="316" x2="150" y2="316" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="150" y1="316" x2="150" y2="333" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="150" y1="333" x2="166" y2="333" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="333" x2="183" y2="333" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="183" y1="333" x2="183" y2="316" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="183" y1="316" x2="166" y2="316" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="316" x2="166" y2="300" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="300" x2="183" y2="300" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="183" y1="300" x2="183" y2="283" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="183" y1="283" x2="166" y2="283" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="283" x2="150" y2="283" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="150" y1="283" x2="150" y2="300" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="150" y1="300" x2="133" y2="300" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="300" x2="133" y2="283" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="283" x2="133" y2="266" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="266" x2="133" y2="250" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="250" x2="150" y2="250" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="150" y1="250" x2="150" y2="266" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="150" y1="266" x2="166" y2="266" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="266" x2="183" y2="266" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="183" y1="266" x2="183" y2="250" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="183" y1="250" x2="166" y2="250" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="250" x2="166" y2="233" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="233" x2="183" y2="233" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="183" y1="233" x2="183" y2="216" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="183" y1="216" x2="166" y2="216" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="216" x2="150" y2="216" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="150" y1="216" x2="150" y2="233" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="150" y1="233" x2="133" y2="233" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="233" x2="133" y2="216" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="216" x2="116" y2="216" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="116" y1="216" x2="100" y2="216" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="216" x2="100" y2="233" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="233" x2="116" y2="233" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="116" y1="233" x2="116" y2="250" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="116" y1="250" x2="116" y2="266" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="116" y1="266" x2="100" y2="266" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="266" x2="100" y2="250" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="250" x2="83" y2="250" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="83" y1="250" x2="83" y2="266" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="83" y1="266" x2="66" y2="266" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="266" x2="66" y2="250" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="250" x2="66" y2="233" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="233" x2="83" y2="233" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="83" y1="233" x2="83" y2="216" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="83" y1="216" x2="66" y2="216" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="216" x2="66" y2="200" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="200" x2="66" y2="183" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="183" x2="83" y2="183" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="83" y1="183" x2="83" y2="200" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="83" y1="200" x2="100" y2="200" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="200" x2="116" y2="200" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="116" y1="200" x2="116" y2="183" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="116" y1="183" x2="100" y2="183" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="183" x2="100" y2="166" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="166" x2="116" y2="166" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="116" y1="166" x2="116" y2="150" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="116" y1="150" x2="100" y2="150" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="150" x2="83" y2="150" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="83" y1="150" x2="83" y2="166" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="83" y1="166" x2="66" y2="166" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="166" x2="66" y2="150" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="150" x2="66" y2="133" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="133" x2="83" y2="133" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="83" y1="133" x2="83" y2="116" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="83" y1="116" x2="66" y2="116" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="116" x2="66" y2="100" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="100" x2="66" y2="83" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="66" y1="83" x2="83" y2="83" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="83" y1="83" x2="83" y2="100" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="83" y1="100" x2="100" y2="100" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="100" x2="100" y2="83" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="83" x2="116" y2="83" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="116" y1="83" x2="116" y2="100" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="116" y1="100" x2="116" y2="116" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="116" y1="116" x2="100" y2="116" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="116" x2="100" y2="133" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="100" y1="133" x2="116" y2="133" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="116" y1="133" x2="133" y2="133" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="133" x2="150" y2="133" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="150" y1="133" x2="150" y2="116" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="150" y1="116" x2="133" y2="116" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="116" x2="133" y2="100" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="100" x2="133" y2="83" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="83" x2="150" y2="83" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="150" y1="83" x2="150" y2="100" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="150" y1="100" x2="166" y2="100" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="100" x2="166" y2="83" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="83" x2="183" y2="83" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="183" y1="83" x2="183" y2="100" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="183" y1="100" x2="183" y2="116" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="183" y1="116" x2="166" y2="116" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="116" x2="166" y2="133" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="133" x2="183" y2="133" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="183" y1="133" x2="183" y2="150" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="183" y1="150" x2="183" y2="166" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="183" y1="166" x2="166" y2="166" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="166" x2="166" y2="150" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="150" x2="150" y2="150" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="150" y1="150" x2="133" y2="150" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="150" x2="133" y2="166" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="166" x2="150" y2="166" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="150" y1="166" x2="150" y2="183" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="150" y1="183" x2="133" y2="183" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="183" x2="133" y2="200" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="133" y1="200" x2="150" y2="200" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="150" y1="200" x2="166" y2="200" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="200" x2="166" y2="183" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="166" y1="183" x2="183" y2="183" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="183" y1="183" x2="183" y2="200" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="183" y1="200" x2="200" y2="200" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="200" x2="200" y2="183" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="183" x2="216" y2="183" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="216" y1="183" x2="216" y2="200" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="216" y1="200" x2="233" y2="200" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="200" x2="250" y2="200" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="250" y1="200" x2="250" y2="183" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="250" y1="183" x2="233" y2="183" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="183" x2="233" y2="166" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="166" x2="250" y2="166" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="250" y1="166" x2="250" y2="150" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="250" y1="150" x2="233" y2="150" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="150" x2="216" y2="150" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="216" y1="150" x2="216" y2="166" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="216" y1="166" x2="200" y2="166" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="166" x2="200" y2="150" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="150" x2="200" y2="133" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="133" x2="216" y2="133" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="216" y1="133" x2="216" y2="116" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="216" y1="116" x2="200" y2="116" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="116" x2="200" y2="100" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="100" x2="200" y2="83" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="83" x2="216" y2="83" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="216" y1="83" x2="216" y2="100" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="216" y1="100" x2="233" y2="100" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="100" x2="233" y2="83" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="83" x2="250" y2="83" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="250" y1="83" x2="250" y2="100" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="250" y1="100" x2="250" y2="116" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="250" y1="116" x2="233" y2="116" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="116" x2="233" y2="133" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="133" x2="250" y2="133" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="250" y1="133" x2="266" y2="133" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="133" x2="283" y2="133" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="283" y1="133" x2="283" y2="116" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="283" y1="116" x2="266" y2="116" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="116" x2="266" y2="100" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="100" x2="266" y2="83" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="83" x2="283" y2="83" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="283" y1="83" x2="283" y2="100" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="283" y1="100" x2="300" y2="100" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="100" x2="300" y2="83" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="83" x2="316" y2="83" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="316" y1="83" x2="316" y2="100" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="316" y1="100" x2="316" y2="116" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="316" y1="116" x2="300" y2="116" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="116" x2="300" y2="133" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="133" x2="316" y2="133" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="316" y1="133" x2="316" y2="150" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="316" y1="150" x2="316" y2="166" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="316" y1="166" x2="300" y2="166" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="166" x2="300" y2="150" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="150" x2="283" y2="150" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="283" y1="150" x2="266" y2="150" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="150" x2="266" y2="166" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="166" x2="283" y2="166" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="283" y1="166" x2="283" y2="183" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="283" y1="183" x2="266" y2="183" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="183" x2="266" y2="200" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="200" x2="283" y2="200" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="283" y1="200" x2="300" y2="200" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="200" x2="300" y2="183" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="183" x2="316" y2="183" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="316" y1="183" x2="316" y2="200" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="316" y1="200" x2="316" y2="216" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="316" y1="216" x2="300" y2="216" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="216" x2="300" y2="233" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="233" x2="316" y2="233" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="316" y1="233" x2="316" y2="250" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="316" y1="250" x2="316" y2="266" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="316" y1="266" x2="300" y2="266" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="266" x2="300" y2="250" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="250" x2="283" y2="250" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="283" y1="250" x2="283" y2="266" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="283" y1="266" x2="266" y2="266" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="266" x2="266" y2="250" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="250" x2="266" y2="233" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="233" x2="283" y2="233" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="283" y1="233" x2="283" y2="216" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="283" y1="216" x2="266" y2="216" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="216" x2="250" y2="216" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="250" y1="216" x2="250" y2="233" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="250" y1="233" x2="233" y2="233" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="233" x2="233" y2="216" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="216" x2="216" y2="216" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="216" y1="216" x2="200" y2="216" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="216" x2="200" y2="233" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="233" x2="216" y2="233" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="216" y1="233" x2="216" y2="250" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="216" y1="250" x2="200" y2="250" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="250" x2="200" y2="266" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="266" x2="216" y2="266" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="216" y1="266" x2="233" y2="266" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="266" x2="233" y2="250" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="250" x2="250" y2="250" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="250" y1="250" x2="250" y2="266" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="250" y1="266" x2="250" y2="283" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="250" y1="283" x2="250" y2="300" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="250" y1="300" x2="233" y2="300" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="300" x2="233" y2="283" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="283" x2="216" y2="283" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="216" y1="283" x2="200" y2="283" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="283" x2="200" y2="300" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="300" x2="216" y2="300" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="216" y1="300" x2="216" y2="316" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="216" y1="316" x2="200" y2="316" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="316" x2="200" y2="333" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="200" y1="333" x2="216" y2="333" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="216" y1="333" x2="233" y2="333" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="333" x2="233" y2="316" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="233" y1="316" x2="250" y2="316" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="250" y1="316" x2="250" y2="333" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="250" y1="333" x2="266" y2="333" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="333" x2="283" y2="333" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="283" y1="333" x2="283" y2="316" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="283" y1="316" x2="266" y2="316" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="316" x2="266" y2="300" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="300" x2="266" y2="283" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="266" y1="283" x2="283" y2="283" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="283" y1="283" x2="283" y2="300" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="283" y1="300" x2="300" y2="300" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="300" x2="300" y2="283" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="283" x2="316" y2="283" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="316" y1="283" x2="316" y2="300" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="316" y1="300" x2="316" y2="316" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="316" y1="316" x2="300" y2="316" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="316" x2="300" y2="333" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;line x1="300" y1="333" x2="316" y2="333" stroke="rgb(0.000000, 127.500000, 255.000000)" strokewidth="267" fill="none"&gt;&lt;/line&gt;&lt;circle cx="66" cy="333" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point0"&gt;&lt;/circle&gt;&lt;circle cx="83" cy="333" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point1"&gt;&lt;/circle&gt;&lt;circle cx="83" cy="316" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point2"&gt;&lt;/circle&gt;&lt;circle cx="66" cy="316" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point3"&gt;&lt;/circle&gt;&lt;circle cx="66" cy="300" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point4"&gt;&lt;/circle&gt;&lt;circle cx="66" cy="283" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point5"&gt;&lt;/circle&gt;&lt;circle cx="83" cy="283" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point6"&gt;&lt;/circle&gt;&lt;circle cx="83" cy="300" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point7"&gt;&lt;/circle&gt;&lt;circle cx="100" cy="300" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point8"&gt;&lt;/circle&gt;&lt;circle cx="100" cy="283" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point9"&gt;&lt;/circle&gt;&lt;circle cx="116" cy="283" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point10"&gt;&lt;/circle&gt;&lt;circle cx="116" cy="300" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point11"&gt;&lt;/circle&gt;&lt;circle cx="116" cy="316" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point12"&gt;&lt;/circle&gt;&lt;circle cx="100" cy="316" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point13"&gt;&lt;/circle&gt;&lt;circle cx="100" cy="333" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point14"&gt;&lt;/circle&gt;&lt;circle cx="116" cy="333" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point15"&gt;&lt;/circle&gt;&lt;circle cx="133" cy="333" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point16"&gt;&lt;/circle&gt;&lt;circle cx="133" cy="316" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point17"&gt;&lt;/circle&gt;&lt;circle cx="150" cy="316" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point18"&gt;&lt;/circle&gt;&lt;circle cx="150" cy="333" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point19"&gt;&lt;/circle&gt;&lt;circle cx="166" cy="333" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point20"&gt;&lt;/circle&gt;&lt;circle cx="183" cy="333" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point21"&gt;&lt;/circle&gt;&lt;circle cx="183" cy="316" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point22"&gt;&lt;/circle&gt;&lt;circle cx="166" cy="316" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point23"&gt;&lt;/circle&gt;&lt;circle cx="166" cy="300" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point24"&gt;&lt;/circle&gt;&lt;circle cx="183" cy="300" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point25"&gt;&lt;/circle&gt;&lt;circle cx="183" cy="283" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point26"&gt;&lt;/circle&gt;&lt;circle cx="166" cy="283" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point27"&gt;&lt;/circle&gt;&lt;circle cx="150" cy="283" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point28"&gt;&lt;/circle&gt;&lt;circle cx="150" cy="300" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point29"&gt;&lt;/circle&gt;&lt;circle cx="133" cy="300" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point30"&gt;&lt;/circle&gt;&lt;circle cx="133" cy="283" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point31"&gt;&lt;/circle&gt;&lt;circle cx="133" cy="266" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point32"&gt;&lt;/circle&gt;&lt;circle cx="133" cy="250" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point33"&gt;&lt;/circle&gt;&lt;circle cx="150" cy="250" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point34"&gt;&lt;/circle&gt;&lt;circle cx="150" cy="266" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point35"&gt;&lt;/circle&gt;&lt;circle cx="166" cy="266" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point36"&gt;&lt;/circle&gt;&lt;circle cx="183" cy="266" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point37"&gt;&lt;/circle&gt;&lt;circle cx="183" cy="250" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point38"&gt;&lt;/circle&gt;&lt;circle cx="166" cy="250" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point39"&gt;&lt;/circle&gt;&lt;circle cx="166" cy="233" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point40"&gt;&lt;/circle&gt;&lt;circle cx="183" cy="233" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point41"&gt;&lt;/circle&gt;&lt;circle cx="183" cy="216" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point42"&gt;&lt;/circle&gt;&lt;circle cx="166" cy="216" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point43"&gt;&lt;/circle&gt;&lt;circle cx="150" cy="216" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point44"&gt;&lt;/circle&gt;&lt;circle cx="150" cy="233" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point45"&gt;&lt;/circle&gt;&lt;circle cx="133" cy="233" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point46"&gt;&lt;/circle&gt;&lt;circle cx="133" cy="216" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point47"&gt;&lt;/circle&gt;&lt;circle cx="116" cy="216" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point48"&gt;&lt;/circle&gt;&lt;circle cx="100" cy="216" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point49"&gt;&lt;/circle&gt;&lt;circle cx="100" cy="233" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point50"&gt;&lt;/circle&gt;&lt;circle cx="116" cy="233" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point51"&gt;&lt;/circle&gt;&lt;circle cx="116" cy="250" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point52"&gt;&lt;/circle&gt;&lt;circle cx="116" cy="266" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point53"&gt;&lt;/circle&gt;&lt;circle cx="100" cy="266" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point54"&gt;&lt;/circle&gt;&lt;circle cx="100" cy="250" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point55"&gt;&lt;/circle&gt;&lt;circle cx="83" cy="250" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point56"&gt;&lt;/circle&gt;&lt;circle cx="83" cy="266" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point57"&gt;&lt;/circle&gt;&lt;circle cx="66" cy="266" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point58"&gt;&lt;/circle&gt;&lt;circle cx="66" cy="250" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point59"&gt;&lt;/circle&gt;&lt;circle cx="66" cy="233" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point60"&gt;&lt;/circle&gt;&lt;circle cx="83" cy="233" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point61"&gt;&lt;/circle&gt;&lt;circle cx="83" cy="216" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point62"&gt;&lt;/circle&gt;&lt;circle cx="66" cy="216" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point63"&gt;&lt;/circle&gt;&lt;circle cx="66" cy="200" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point64"&gt;&lt;/circle&gt;&lt;circle cx="66" cy="183" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point65"&gt;&lt;/circle&gt;&lt;circle cx="83" cy="183" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point66"&gt;&lt;/circle&gt;&lt;circle cx="83" cy="200" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point67"&gt;&lt;/circle&gt;&lt;circle cx="100" cy="200" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point68"&gt;&lt;/circle&gt;&lt;circle cx="116" cy="200" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point69"&gt;&lt;/circle&gt;&lt;circle cx="116" cy="183" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point70"&gt;&lt;/circle&gt;&lt;circle cx="100" cy="183" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point71"&gt;&lt;/circle&gt;&lt;circle cx="100" cy="166" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point72"&gt;&lt;/circle&gt;&lt;circle cx="116" cy="166" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point73"&gt;&lt;/circle&gt;&lt;circle cx="116" cy="150" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point74"&gt;&lt;/circle&gt;&lt;circle cx="100" cy="150" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point75"&gt;&lt;/circle&gt;&lt;circle cx="83" cy="150" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point76"&gt;&lt;/circle&gt;&lt;circle cx="83" cy="166" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point77"&gt;&lt;/circle&gt;&lt;circle cx="66" cy="166" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point78"&gt;&lt;/circle&gt;&lt;circle cx="66" cy="150" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point79"&gt;&lt;/circle&gt;&lt;circle cx="66" cy="133" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point80"&gt;&lt;/circle&gt;&lt;circle cx="83" cy="133" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point81"&gt;&lt;/circle&gt;&lt;circle cx="83" cy="116" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point82"&gt;&lt;/circle&gt;&lt;circle cx="66" cy="116" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point83"&gt;&lt;/circle&gt;&lt;circle cx="66" cy="100" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point84"&gt;&lt;/circle&gt;&lt;circle cx="66" cy="83" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point85"&gt;&lt;/circle&gt;&lt;circle cx="83" cy="83" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point86"&gt;&lt;/circle&gt;&lt;circle cx="83" cy="100" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point87"&gt;&lt;/circle&gt;&lt;circle cx="100" cy="100" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point88"&gt;&lt;/circle&gt;&lt;circle cx="100" cy="83" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point89"&gt;&lt;/circle&gt;&lt;circle cx="116" cy="83" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point90"&gt;&lt;/circle&gt;&lt;circle cx="116" cy="100" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point91"&gt;&lt;/circle&gt;&lt;circle cx="116" cy="116" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point92"&gt;&lt;/circle&gt;&lt;circle cx="100" cy="116" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point93"&gt;&lt;/circle&gt;&lt;circle cx="100" cy="133" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point94"&gt;&lt;/circle&gt;&lt;circle cx="116" cy="133" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point95"&gt;&lt;/circle&gt;&lt;circle cx="133" cy="133" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point96"&gt;&lt;/circle&gt;&lt;circle cx="150" cy="133" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point97"&gt;&lt;/circle&gt;&lt;circle cx="150" cy="116" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point98"&gt;&lt;/circle&gt;&lt;circle cx="133" cy="116" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point99"&gt;&lt;/circle&gt;&lt;circle cx="133" cy="100" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point100"&gt;&lt;/circle&gt;&lt;circle cx="133" cy="83" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point101"&gt;&lt;/circle&gt;&lt;circle cx="150" cy="83" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point102"&gt;&lt;/circle&gt;&lt;circle cx="150" cy="100" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point103"&gt;&lt;/circle&gt;&lt;circle cx="166" cy="100" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point104"&gt;&lt;/circle&gt;&lt;circle cx="166" cy="83" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point105"&gt;&lt;/circle&gt;&lt;circle cx="183" cy="83" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point106"&gt;&lt;/circle&gt;&lt;circle cx="183" cy="100" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point107"&gt;&lt;/circle&gt;&lt;circle cx="183" cy="116" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point108"&gt;&lt;/circle&gt;&lt;circle cx="166" cy="116" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point109"&gt;&lt;/circle&gt;&lt;circle cx="166" cy="133" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point110"&gt;&lt;/circle&gt;&lt;circle cx="183" cy="133" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point111"&gt;&lt;/circle&gt;&lt;circle cx="183" cy="150" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point112"&gt;&lt;/circle&gt;&lt;circle cx="183" cy="166" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point113"&gt;&lt;/circle&gt;&lt;circle cx="166" cy="166" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point114"&gt;&lt;/circle&gt;&lt;circle cx="166" cy="150" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point115"&gt;&lt;/circle&gt;&lt;circle cx="150" cy="150" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point116"&gt;&lt;/circle&gt;&lt;circle cx="133" cy="150" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point117"&gt;&lt;/circle&gt;&lt;circle cx="133" cy="166" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point118"&gt;&lt;/circle&gt;&lt;circle cx="150" cy="166" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point119"&gt;&lt;/circle&gt;&lt;circle cx="150" cy="183" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point120"&gt;&lt;/circle&gt;&lt;circle cx="133" cy="183" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point121"&gt;&lt;/circle&gt;&lt;circle cx="133" cy="200" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point122"&gt;&lt;/circle&gt;&lt;circle cx="150" cy="200" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point123"&gt;&lt;/circle&gt;&lt;circle cx="166" cy="200" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point124"&gt;&lt;/circle&gt;&lt;circle cx="166" cy="183" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point125"&gt;&lt;/circle&gt;&lt;circle cx="183" cy="183" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point126"&gt;&lt;/circle&gt;&lt;circle cx="183" cy="200" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point127"&gt;&lt;/circle&gt;&lt;circle cx="200" cy="200" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point128"&gt;&lt;/circle&gt;&lt;circle cx="200" cy="183" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point129"&gt;&lt;/circle&gt;&lt;circle cx="216" cy="183" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point130"&gt;&lt;/circle&gt;&lt;circle cx="216" cy="200" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point131"&gt;&lt;/circle&gt;&lt;circle cx="233" cy="200" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point132"&gt;&lt;/circle&gt;&lt;circle cx="250" cy="200" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point133"&gt;&lt;/circle&gt;&lt;circle cx="250" cy="183" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point134"&gt;&lt;/circle&gt;&lt;circle cx="233" cy="183" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point135"&gt;&lt;/circle&gt;&lt;circle cx="233" cy="166" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point136"&gt;&lt;/circle&gt;&lt;circle cx="250" cy="166" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point137"&gt;&lt;/circle&gt;&lt;circle cx="250" cy="150" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point138"&gt;&lt;/circle&gt;&lt;circle cx="233" cy="150" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point139"&gt;&lt;/circle&gt;&lt;circle cx="216" cy="150" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point140"&gt;&lt;/circle&gt;&lt;circle cx="216" cy="166" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point141"&gt;&lt;/circle&gt;&lt;circle cx="200" cy="166" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point142"&gt;&lt;/circle&gt;&lt;circle cx="200" cy="150" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point143"&gt;&lt;/circle&gt;&lt;circle cx="200" cy="133" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point144"&gt;&lt;/circle&gt;&lt;circle cx="216" cy="133" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point145"&gt;&lt;/circle&gt;&lt;circle cx="216" cy="116" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point146"&gt;&lt;/circle&gt;&lt;circle cx="200" cy="116" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point147"&gt;&lt;/circle&gt;&lt;circle cx="200" cy="100" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point148"&gt;&lt;/circle&gt;&lt;circle cx="200" cy="83" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point149"&gt;&lt;/circle&gt;&lt;circle cx="216" cy="83" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point150"&gt;&lt;/circle&gt;&lt;circle cx="216" cy="100" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point151"&gt;&lt;/circle&gt;&lt;circle cx="233" cy="100" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point152"&gt;&lt;/circle&gt;&lt;circle cx="233" cy="83" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point153"&gt;&lt;/circle&gt;&lt;circle cx="250" cy="83" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point154"&gt;&lt;/circle&gt;&lt;circle cx="250" cy="100" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point155"&gt;&lt;/circle&gt;&lt;circle cx="250" cy="116" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point156"&gt;&lt;/circle&gt;&lt;circle cx="233" cy="116" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point157"&gt;&lt;/circle&gt;&lt;circle cx="233" cy="133" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point158"&gt;&lt;/circle&gt;&lt;circle cx="250" cy="133" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point159"&gt;&lt;/circle&gt;&lt;circle cx="266" cy="133" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point160"&gt;&lt;/circle&gt;&lt;circle cx="283" cy="133" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point161"&gt;&lt;/circle&gt;&lt;circle cx="283" cy="116" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point162"&gt;&lt;/circle&gt;&lt;circle cx="266" cy="116" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point163"&gt;&lt;/circle&gt;&lt;circle cx="266" cy="100" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point164"&gt;&lt;/circle&gt;&lt;circle cx="266" cy="83" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point165"&gt;&lt;/circle&gt;&lt;circle cx="283" cy="83" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point166"&gt;&lt;/circle&gt;&lt;circle cx="283" cy="100" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point167"&gt;&lt;/circle&gt;&lt;circle cx="300" cy="100" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point168"&gt;&lt;/circle&gt;&lt;circle cx="300" cy="83" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point169"&gt;&lt;/circle&gt;&lt;circle cx="316" cy="83" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point170"&gt;&lt;/circle&gt;&lt;circle cx="316" cy="100" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point171"&gt;&lt;/circle&gt;&lt;circle cx="316" cy="116" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point172"&gt;&lt;/circle&gt;&lt;circle cx="300" cy="116" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point173"&gt;&lt;/circle&gt;&lt;circle cx="300" cy="133" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point174"&gt;&lt;/circle&gt;&lt;circle cx="316" cy="133" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point175"&gt;&lt;/circle&gt;&lt;circle cx="316" cy="150" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point176"&gt;&lt;/circle&gt;&lt;circle cx="316" cy="166" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point177"&gt;&lt;/circle&gt;&lt;circle cx="300" cy="166" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point178"&gt;&lt;/circle&gt;&lt;circle cx="300" cy="150" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point179"&gt;&lt;/circle&gt;&lt;circle cx="283" cy="150" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point180"&gt;&lt;/circle&gt;&lt;circle cx="266" cy="150" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point181"&gt;&lt;/circle&gt;&lt;circle cx="266" cy="166" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point182"&gt;&lt;/circle&gt;&lt;circle cx="283" cy="166" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point183"&gt;&lt;/circle&gt;&lt;circle cx="283" cy="183" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point184"&gt;&lt;/circle&gt;&lt;circle cx="266" cy="183" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point185"&gt;&lt;/circle&gt;&lt;circle cx="266" cy="200" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point186"&gt;&lt;/circle&gt;&lt;circle cx="283" cy="200" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point187"&gt;&lt;/circle&gt;&lt;circle cx="300" cy="200" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point188"&gt;&lt;/circle&gt;&lt;circle cx="300" cy="183" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point189"&gt;&lt;/circle&gt;&lt;circle cx="316" cy="183" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point190"&gt;&lt;/circle&gt;&lt;circle cx="316" cy="200" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point191"&gt;&lt;/circle&gt;&lt;circle cx="316" cy="216" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point192"&gt;&lt;/circle&gt;&lt;circle cx="300" cy="216" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point193"&gt;&lt;/circle&gt;&lt;circle cx="300" cy="233" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point194"&gt;&lt;/circle&gt;&lt;circle cx="316" cy="233" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point195"&gt;&lt;/circle&gt;&lt;circle cx="316" cy="250" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point196"&gt;&lt;/circle&gt;&lt;circle cx="316" cy="266" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point197"&gt;&lt;/circle&gt;&lt;circle cx="300" cy="266" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point198"&gt;&lt;/circle&gt;&lt;circle cx="300" cy="250" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point199"&gt;&lt;/circle&gt;&lt;circle cx="283" cy="250" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point200"&gt;&lt;/circle&gt;&lt;circle cx="283" cy="266" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point201"&gt;&lt;/circle&gt;&lt;circle cx="266" cy="266" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point202"&gt;&lt;/circle&gt;&lt;circle cx="266" cy="250" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point203"&gt;&lt;/circle&gt;&lt;circle cx="266" cy="233" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point204"&gt;&lt;/circle&gt;&lt;circle cx="283" cy="233" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point205"&gt;&lt;/circle&gt;&lt;circle cx="283" cy="216" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point206"&gt;&lt;/circle&gt;&lt;circle cx="266" cy="216" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point207"&gt;&lt;/circle&gt;&lt;circle cx="250" cy="216" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point208"&gt;&lt;/circle&gt;&lt;circle cx="250" cy="233" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point209"&gt;&lt;/circle&gt;&lt;circle cx="233" cy="233" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point210"&gt;&lt;/circle&gt;&lt;circle cx="233" cy="216" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point211"&gt;&lt;/circle&gt;&lt;circle cx="216" cy="216" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point212"&gt;&lt;/circle&gt;&lt;circle cx="200" cy="216" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point213"&gt;&lt;/circle&gt;&lt;circle cx="200" cy="233" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point214"&gt;&lt;/circle&gt;&lt;circle cx="216" cy="233" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point215"&gt;&lt;/circle&gt;&lt;circle cx="216" cy="250" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point216"&gt;&lt;/circle&gt;&lt;circle cx="200" cy="250" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point217"&gt;&lt;/circle&gt;&lt;circle cx="200" cy="266" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point218"&gt;&lt;/circle&gt;&lt;circle cx="216" cy="266" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point219"&gt;&lt;/circle&gt;&lt;circle cx="233" cy="266" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point220"&gt;&lt;/circle&gt;&lt;circle cx="233" cy="250" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point221"&gt;&lt;/circle&gt;&lt;circle cx="250" cy="250" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point222"&gt;&lt;/circle&gt;&lt;circle cx="250" cy="266" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point223"&gt;&lt;/circle&gt;&lt;circle cx="250" cy="283" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point224"&gt;&lt;/circle&gt;&lt;circle cx="250" cy="300" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point225"&gt;&lt;/circle&gt;&lt;circle cx="233" cy="300" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point226"&gt;&lt;/circle&gt;&lt;circle cx="233" cy="283" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point227"&gt;&lt;/circle&gt;&lt;circle cx="216" cy="283" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point228"&gt;&lt;/circle&gt;&lt;circle cx="200" cy="283" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point229"&gt;&lt;/circle&gt;&lt;circle cx="200" cy="300" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point230"&gt;&lt;/circle&gt;&lt;circle cx="216" cy="300" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point231"&gt;&lt;/circle&gt;&lt;circle cx="216" cy="316" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point232"&gt;&lt;/circle&gt;&lt;circle cx="200" cy="316" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point233"&gt;&lt;/circle&gt;&lt;circle cx="200" cy="333" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point234"&gt;&lt;/circle&gt;&lt;circle cx="216" cy="333" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point235"&gt;&lt;/circle&gt;&lt;circle cx="233" cy="333" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point236"&gt;&lt;/circle&gt;&lt;circle cx="233" cy="316" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point237"&gt;&lt;/circle&gt;&lt;circle cx="250" cy="316" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point238"&gt;&lt;/circle&gt;&lt;circle cx="250" cy="333" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point239"&gt;&lt;/circle&gt;&lt;circle cx="266" cy="333" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point240"&gt;&lt;/circle&gt;&lt;circle cx="283" cy="333" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point241"&gt;&lt;/circle&gt;&lt;circle cx="283" cy="316" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point242"&gt;&lt;/circle&gt;&lt;circle cx="266" cy="316" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point243"&gt;&lt;/circle&gt;&lt;circle cx="266" cy="300" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point244"&gt;&lt;/circle&gt;&lt;circle cx="266" cy="283" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point245"&gt;&lt;/circle&gt;&lt;circle cx="283" cy="283" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point246"&gt;&lt;/circle&gt;&lt;circle cx="283" cy="300" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point247"&gt;&lt;/circle&gt;&lt;circle cx="300" cy="300" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point248"&gt;&lt;/circle&gt;&lt;circle cx="300" cy="283" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point249"&gt;&lt;/circle&gt;&lt;circle cx="316" cy="283" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point250"&gt;&lt;/circle&gt;&lt;circle cx="316" cy="300" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point251"&gt;&lt;/circle&gt;&lt;circle cx="316" cy="316" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point252"&gt;&lt;/circle&gt;&lt;circle cx="300" cy="316" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point253"&gt;&lt;/circle&gt;&lt;circle cx="300" cy="333" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point254"&gt;&lt;/circle&gt;&lt;circle cx="316" cy="333" r="4" fill="rgb(0.000000, 127.500000, 255.000000)" id="point255"&gt;&lt;/circle&gt;&lt;/svg&gt;&lt;p&gt;
              Now we get our limit:&lt;/p&gt;
            &lt;p&gt;
              &lt;strong&gt;Definition&lt;/strong&gt;: Let &lt;code class="math inline"&gt;H(t) = \lim_{n \to \infty} \tilde{H}_n(t)&lt;/code&gt;.&lt;/p&gt;
            &lt;p&gt;
              Unfortunately, our picture is somewhat less interesting from a visual perspective, but more interesting from a mathematical perspective:&lt;/p&gt;
            &lt;svg viewbox="0 0 3 0.5" alt="It's a black square."&gt;&lt;rect x="1.25" y="0" width="0.5" height="0.5" fill="black"&gt;&lt;/rect&gt;&lt;/svg&gt;&lt;p&gt;
              Here's the interesting thing about the Hilbert curve: it's a &lt;em&gt;space-filling curve&lt;/em&gt;, which means it's not only still continuous, but fills the region &lt;code class="math inline"&gt;[0, 1] \times [0, 1]&lt;/code&gt;. This is surprising because curves are famously one-dimensional. Luckily for us, every mathematical pathology is actually a mathematical opportunity.&lt;/p&gt;
            &lt;/section&gt;
          &lt;/section&gt;
        &lt;section&gt;
          &lt;h2&gt;
            &lt;span id="informalproofs"&gt;Informal Versions of Formalized Theorems and Proofs&lt;/span&gt;&lt;/h2&gt;
          &lt;p&gt;
            Unless stated otherwise, &lt;code class="math inline"&gt;\lVert (x, y) \rVert = \mathrm{max}(|x|, |y|)&lt;/code&gt;. These proofs will not be detailed enough usually to serve as a blueprint for Lean. It is meant to be read and clarify the Lean code later. Most of the details are too boring and uninteresting.&lt;/p&gt;
          &lt;section&gt;
            &lt;h3&gt;
              &lt;span id="informalintegers"&gt;Integer Facts&lt;/span&gt;&lt;/h3&gt;
            &lt;p&gt;
              &lt;strong&gt;Lemma&lt;/strong&gt;: The integer Hilbert curves maps &lt;code class="math inline"&gt;[0, 2^{2 n} - 1]&lt;/code&gt; precisely onto &lt;code class="math inline"&gt;[0, 2^n -1] \times [0, 2^{n} - 1]&lt;/code&gt;.&lt;/p&gt;
            &lt;p&gt;
              For this, we can check that each transformation in the definition maps to each quadrant, then we can use induction to prove that it's injective (also known as &lt;a href="https://en.wikipedia.org/wiki/Injective_function"&gt;one-to-one&lt;/a&gt;). Surjectivity follows from the finite domain. &lt;code class="math inline"&gt;\blacksquare&lt;/code&gt;&lt;/p&gt;
            &lt;p&gt;
              &lt;strong&gt;Lemma&lt;/strong&gt;: The integer Hilbert curves never move by more than one, so &lt;code class="math inline"&gt;|H_n(i+1) - H_n(i)|_1 = 1&lt;/code&gt;.&lt;/p&gt;
            &lt;p&gt;
              Try induction and note that each transformation lines up the end of the Hilbert curve at the start of the previous. &lt;code class="math inline"&gt;\blacksquare&lt;/code&gt;&lt;/p&gt;
            &lt;p&gt;
              &lt;strong&gt;Lemma&lt;/strong&gt;: The integer Hilbert curves "refines" each square, so &lt;code class="math inline"&gt;H_{n+1}(i) \in [2 H_n(\lfloor i / 4 \rfloor), 2 H_n(\lfloor i / 4 \rfloor) + 1]&lt;/code&gt;.&lt;/p&gt;
            &lt;p&gt;
              Try induction and case work on the quadrants, it really boils down to algebra for each square. &lt;code class="math inline"&gt;\blacksquare&lt;/code&gt;.&lt;/p&gt;
            &lt;p&gt;
              We could also build on this to show that &lt;code class="math inline"&gt;H_{n+m}&lt;/code&gt; will always remain in that square, but we will not need that later, so I'll avoid it.&lt;/p&gt;
            &lt;/section&gt;
          &lt;section&gt;
            &lt;h3&gt;
              &lt;span id="normalizedproofs"&gt;Normalized and Interpolated facts&lt;/span&gt;&lt;/h3&gt;
            &lt;p&gt;
              From those, we can get some also nice facts about the interpolated version:&lt;/p&gt;
            &lt;p&gt;
              &lt;strong&gt;Lemma&lt;/strong&gt;: The normalized Hilbert curves is contained within &lt;code class="math inline"&gt;[0, 1] \times [0, 1]&lt;/code&gt;.&lt;/p&gt;
            &lt;p&gt;
              This is basic algebra. &lt;code class="math inline"&gt;\blacksquare&lt;/code&gt;&lt;/p&gt;
            &lt;p&gt;
              &lt;strong&gt;Lemma&lt;/strong&gt;: They "almost" fill up the space, so for all &lt;code class="math inline"&gt;x \in [0, 1] \times [0, 1]&lt;/code&gt;, there is a &lt;code class="math inline"&gt;t \in [0, 1]&lt;/code&gt; such that &lt;code class="math inline"&gt;\lVert \tilde{H}_n(t) - x \rVert \le \frac{1}{2^n}&lt;/code&gt;.&lt;/p&gt;
            &lt;p&gt;
              First we take &lt;code class="math inline"&gt;x&lt;/code&gt;, then find a nearby pair of integers &lt;code class="math inline"&gt;\le \frac{1}{2^n}&lt;/code&gt; away, and finally we use our integer Hilbert curve to find the corresponding &lt;code class="math inline"&gt;n&lt;/code&gt; from which we get &lt;code class="math inline"&gt;t&lt;/code&gt; via scaling. &lt;code class="math inline"&gt;\blacksquare&lt;/code&gt;&lt;/p&gt;
            &lt;p&gt;
              &lt;strong&gt;Lemma&lt;/strong&gt;: The Hilbert iterations get close together, so &lt;code class="math inline"&gt;\lVert \tilde{H}_{n+1}(t) - \tilde{H}_{n}(t) \rVert \le \frac{2}{2^n}&lt;/code&gt;. This constant in the numerator can probably be lowered, but I haven't checked exactly how far.&lt;/p&gt;
            &lt;p&gt;
              Since I want to avoid casework as much as possible, the easiest way to prove this seems to construct a chain of approximations instead:
&lt;code class="math display"&gt;
\begin{align*}
\lVert \tilde{H}_{i+1}(t) - \tilde{H}_{i}(t) \rVert &amp;\le
\lVert \tilde{H}_{i+1}(t) - \tilde{H}_{i+1}(\lfloor t \cdot 2^{2(n+1)} \rfloor / 2^{2 n}) \rVert \\
&amp;+ \lVert \tilde{H}_{i+1}(\lfloor t \cdot 2^{2n} \rfloor / 2^{2(n+1)}) - \tilde{H}_{i}(\lfloor t \cdot 2^{2n} \rfloor / 2^{2 n}) \rVert \\
&amp;+ \lVert \tilde{H}_{i}(t) - \tilde{H}_{i}(\lfloor t \cdot 2^{2n} \rfloor / 2^{2 n}) \rVert
\end{align*}
&lt;/code&gt;
The first can be bounded by &lt;code class="math inline"&gt;\frac{1}{2^{n+1}}&lt;/code&gt; since our interpolation only moves &lt;code class="math inline"&gt;\frac{1}{2^{n+1}}&lt;/code&gt; between each corner, and similarly by &lt;code class="math inline"&gt;\frac{1}{2^n}&lt;/code&gt; for the third case, the second can be bounded by &lt;code class="math inline"&gt;\frac{1}{2^{n+1}}&lt;/code&gt; using the square containment lemma from the integer case.&lt;/p&gt;
            &lt;p&gt;
              This lemma can also be improved by using the fact that &lt;code class="math inline"&gt;\tilde{H}_{n}((i + 1) / 2^{2 n})&lt;/code&gt; is still in the same square as &lt;code class="math inline"&gt;\tilde{H}_n(i  / 2^{2 n})&lt;/code&gt;, but in the moment of formalization, it was more convenient to use the distance lemmas instead. &lt;code class="math inline"&gt;\blacksquare&lt;/code&gt;&lt;/p&gt;
            &lt;/section&gt;
          &lt;section&gt;
            &lt;h3&gt;
              &lt;span id="limitproofs"&gt;Limit Facts&lt;/span&gt;&lt;/h3&gt;
            &lt;p&gt;
              Now we can get to fun stuff:&lt;/p&gt;
            &lt;p&gt;
              &lt;strong&gt;Theorem&lt;/strong&gt;: The limit &lt;code class="math inline"&gt;H(t)&lt;/code&gt; is continuous.&lt;/p&gt;
            &lt;p&gt;
              The crucial part here is &lt;a href="https://en.wikipedia.org/wiki/Uniform_convergence"&gt;uniform convergence&lt;/a&gt;, which means that &lt;code class="math inline"&gt;\tilde{H}_n&lt;/code&gt;'s rate of convergence is the same everywhere, which will preserve continuity in our limit. For each &lt;code class="math inline"&gt;n&lt;/code&gt;, we have that &lt;code class="math inline"&gt;\lVert \tilde{H}_n(t) - \tilde{H}_{n+1}(t) \rVert \le \frac{2}{2^n}&lt;/code&gt;, then
&lt;code class="math display"&gt;
\lVert \tilde{H}_n(t) - H(t) \rVert \le \sum_{i=n}^\infty \lVert \tilde{H}_i(t) - \tilde{H}_{i+1}(t) \rVert \le \sum_{i=n}^\infty \frac{2}{2^i} = \frac{4}{2^{2 n}}.
&lt;/code&gt;&lt;/p&gt;
            &lt;p&gt;
              So thus, &lt;code class="math inline"&gt;\tilde{H}_n(t)&lt;/code&gt; converges uniformly to &lt;code class="math inline"&gt;H&lt;/code&gt;, since this bound doesn't depend on &lt;code class="math inline"&gt;t&lt;/code&gt; at all. Therefore by the &lt;a href="https://en.wikipedia.org/wiki/Uniform_limit_theorem"&gt;Uniform Continuity Theorem&lt;/a&gt;, &lt;code class="math inline"&gt;H&lt;/code&gt; is continuous since each &lt;code class="math inline"&gt;\tilde{H}_n&lt;/code&gt; is continuous. &lt;code class="math inline"&gt;\blacksquare&lt;/code&gt;&lt;/p&gt;
            &lt;p&gt;
              &lt;strong&gt;Theorem&lt;/strong&gt;: The limit &lt;code class="math inline"&gt;H(t)&lt;/code&gt; maps &lt;code class="math inline"&gt;[0, 1]&lt;/code&gt; onto &lt;code class="math inline"&gt;[0, 1] \times [0, 1]&lt;/code&gt;.&lt;/p&gt;
            &lt;p&gt;
              Let &lt;code class="math inline"&gt;x \in [0, 1] \times [0, 1]&lt;/code&gt;. Next, we will find a sequence of &lt;code class="math inline"&gt;t_i&lt;/code&gt; that converge to some &lt;code class="math inline"&gt;t&lt;/code&gt; such that &lt;code class="math inline"&gt;\tilde{H}_i(t) \to x&lt;/code&gt;. Finally, since &lt;code class="math inline"&gt;\tilde{H}_i&lt;/code&gt; converges uniformly, then &lt;code class="math inline"&gt;\tilde{H}_{i}(t) \to H(t) = x&lt;/code&gt;.&lt;/p&gt;
            &lt;p&gt;
              Since &lt;code class="math inline"&gt;[0, 1]&lt;/code&gt; is &lt;a href="https://en.wikipedia.org/wiki/Sequentially_compact_space"&gt;sequentially compact&lt;/a&gt;, it suffices to find any sequence &lt;code class="math inline"&gt;t_i&lt;/code&gt; such that &lt;code class="math inline"&gt;\tilde{H}_i(t_i)&lt;/code&gt; converges to &lt;code class="math inline"&gt;x&lt;/code&gt;, so then a subsequence of &lt;code class="math inline"&gt;t_i&lt;/code&gt; will truly converge to a &lt;code class="math inline"&gt;t&lt;/code&gt;. Using our approximate inverse property from before, we can always pick a &lt;code class="math inline"&gt;t_i&lt;/code&gt; such that &lt;code class="math inline"&gt;\lVert \tilde{H}_i(t_i) - x \rVert \le \frac{1}{2^n}&lt;/code&gt;. As &lt;code class="math inline"&gt;\frac{1}{2^n}&lt;/code&gt; converges to &lt;code class="math inline"&gt;0&lt;/code&gt;, thus &lt;code class="math inline"&gt;\tilde{H}_i(t_i)&lt;/code&gt; converges to &lt;code class="math inline"&gt;x&lt;/code&gt;. So thus, our convergent subsequence also converges to &lt;code class="math inline"&gt;x&lt;/code&gt; and &lt;code class="math inline"&gt;H(t) = x&lt;/code&gt;. &lt;code class="math inline"&gt;\blacksquare&lt;/code&gt;&lt;/p&gt;
            &lt;p&gt;
              This completes the usual standard set of facts (such as most of Munkres' Topology). We see that &lt;code class="math inline"&gt;H&lt;/code&gt; cannot be injective, since any continuous injective map is a &lt;a href="https://mathworld.wolfram.com/Homeomorphism.html"&gt;homeomorphism&lt;/a&gt; onto its image, and &lt;code class="math inline"&gt;[0, 1]&lt;/code&gt; is not homeomorphic to &lt;code class="math inline"&gt;[0, 1] \times [0, 1]&lt;/code&gt;. Unfortunately, this fact is not in Lean's &lt;a href="https://github.com/leanprover-community/mathlib4"&gt;mathlib&lt;/a&gt; (the library of available theorems for later), and likely never will be, since you really want that &lt;code class="math inline"&gt;\mathbb{R}^n \not\cong \mathbb{R}^m&lt;/code&gt; for &lt;code class="math inline"&gt;m \neq n&lt;/code&gt; which goes by &lt;a href="https://en.wikipedia.org/wiki/Invariance_of_domain"&gt;invariance of domain&lt;/a&gt; and is a standard result from algebraic topology. I could not find this in Lean, but maybe I was missing something. However there is another more rewarding route: symmetry arguments!&lt;/p&gt;
            &lt;p&gt;
              &lt;strong&gt;Theorem&lt;/strong&gt;: The limit &lt;code class="math inline"&gt;H&lt;/code&gt; is symmetric in a similar way to the integer case.&lt;/p&gt;
            &lt;p&gt;
              Although the normalized interpolated &lt;code class="math inline"&gt;\tilde{H}_i(t)&lt;/code&gt; is not &lt;em&gt;precisely&lt;/em&gt; symmetric, we can use the same trick as before and pick a sequence &lt;code class="math inline"&gt;t_i&lt;/code&gt; on the corners that exactly matches the symmetry transformations we do have. Our symmetries are also now much simpler, since we can use &lt;code class="math inline"&gt;1&lt;/code&gt; and &lt;code class="math inline"&gt;\frac{1}{2}&lt;/code&gt; instead of &lt;code class="math inline"&gt;2^n&lt;/code&gt; and &lt;code class="math inline"&gt;2^{n-1}&lt;/code&gt;. Since our symmetries are &lt;a href="https://en.wikipedia.org/wiki/Uniform_continuity"&gt;uniformly continuous&lt;/a&gt;, we still get uniform convergence and the sequence limits passes through the convergence still.&lt;/p&gt;
            &lt;p&gt;
              I will not spell out the rest of the details here, since the algebra is relatively unenlightening. &lt;code class="math inline"&gt;\blacksquare&lt;/code&gt;&lt;/p&gt;
            &lt;p&gt;
              &lt;strong&gt;Theorem&lt;/strong&gt;: The limit &lt;code class="math inline"&gt;H&lt;/code&gt; is not injective.&lt;/p&gt;
            &lt;p&gt;
              Since &lt;code class="math inline"&gt;H&lt;/code&gt; is symmetric, we can look at the bottom left quadrant and the bottom right quadrant and see that they overlap at the boundary &lt;code class="math inline"&gt;\{\frac{1}{2}\} \times [0, \frac{1}{2}]&lt;/code&gt;. Since &lt;code class="math inline"&gt;H&lt;/code&gt; is symmetric and surjective, there is a &lt;code class="math inline"&gt;t \in [0, \frac{1}{4}]&lt;/code&gt; (the bottom left quadrant) such that &lt;code class="math inline"&gt;H(t) = (\frac{1}{2}, 0)&lt;/code&gt;. Similarly there is a &lt;code class="math inline"&gt;t \in [\frac{3}{4}, 1]&lt;/code&gt; (the bottom right quadrant) such that &lt;code class="math inline"&gt;H(t) = (\frac{1}{2}, 0)&lt;/code&gt;. These &lt;code class="math inline"&gt;t&lt;/code&gt;s have to be different, so thus &lt;code class="math inline"&gt;H&lt;/code&gt; is not injective. &lt;code class="math inline"&gt;\blacksquare&lt;/code&gt;&lt;/p&gt;
            &lt;p&gt;
              These is the end of what I've formalized in Lean, but once you've thought about every detail so much for so long, additional properties become fairly clear too. If you aren't interested in Lean, you may find all those of interest in the &lt;a href="https://josephmckinsey.com/leanhilbertcurves.html"&gt;next post&lt;/a&gt;.&lt;/p&gt;
            &lt;/section&gt;
          &lt;/section&gt;
        &lt;section&gt;
          &lt;h2&gt;
            &lt;span id="conclusion"&gt;Conclusion&lt;/span&gt;&lt;/h2&gt;
          &lt;p&gt;
            Hopefully, you've learned that the Hilbert curve is a continuous curve that looks like a square. That's the main cool fact about Hilbert curves.&lt;/p&gt;
          &lt;/section&gt;
        &lt;section&gt;
          &lt;h2&gt;
            &lt;span id="references"&gt;References&lt;/span&gt;&lt;/h2&gt;
          &lt;p&gt;
            I only looked at Wikipedia and Munkres' Topology section "A Space-Filling Curve" (Chapter 7, section 44).
&lt;/p&gt;
          &lt;/section&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    </content><category term="article"></category><category term="math"></category><category term="lean"></category><category term="hilbert-curves"></category></entry><entry><title>Flean: Floating point numbers in Lean, mostly done!</title><link href="https://josephmckinsey.com/flean2.html" rel="alternate"></link><published>2025-03-05T18:27:00-07:00</published><updated>2025-03-05T18:27:00-07:00</updated><author><name>Joseph McKinsey</name></author><id>tag:josephmckinsey.com,2025-03-05:/flean2.html</id><summary type="html">I am mostly done with flean</summary><content type="html">
    &lt;style&gt;


.hl.lean {
  white-space: pre;
  font-weight: normal;
  font-style: normal;
}

.hl.lean .keyword {
  font-weight : bold;
}

.hl.lean .var {
  font-style: italic;
  position: relative;
}

.hover-container {
  width: 0;
  height: 0;
  position: relative;
  display: inline;
}

.hl.lean a {
  color: inherit;
  text-decoration: currentcolor underline dotted;
}

.hl.lean a:hover {
  text-decoration: currentcolor underline solid;
}

.hl.lean .hover-info {
  white-space: normal;
}

.hl.lean .token .hover-info {
  display: none;
  position: absolute;
  background-color: #e5e5e5;
  border: 1px solid black;
  padding: 0.5rem;
  z-index: 300;
  font-size: inherit;
}

.hl.lean .hover-info.messages {
  max-height: 10rem;
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-gutter: stable;
  padding: 0 0.5rem 0 0;
  display: block;
}

.hl.lean .hover-info code {
  white-space: pre-wrap;
}

.hl.lean .hover-info.messages &gt; code {
  padding: 0.5rem;
  display: block;
  width: fit-content;
}

.hl.lean .hover-info.messages &gt; code:only-child {
  margin: 0;
}

.hl.lean .hover-info.messages &gt; code {
  margin: 0.1rem;
}

.hl.lean .hover-info.messages &gt; code:not(:first-child) {
  margin-top: 0rem;
}

/*
@media (hover: hover) {
  .hl.lean .has-info:hover &gt; .hover-container &gt; .hover-info:not(.tactic *),
  .hl.lean .tactic:has(&gt; .tactic-toggle:checked) .has-info:hover &gt; .hover-container &gt; .hover-info,
  .hl.lean .token:hover &gt; .hover-container &gt; .hover-info:not(.has-info *):not(.tactic *),
  .hl.lean .tactic:has(&gt; .tactic-toggle:checked) .token:hover &gt; .hover-container &gt; .hover-info:not(.has-info *) {
    display: inline-block;
    position: absolute;
    top: 1rem;
    font-weight: normal;
    font-style: normal;
    width: min-content;
  }
}
*/

.hl.lean.block {
  display: block;
}

.hl.lean.inline {
  display: inline;
  white-space: pre-wrap;
}

.hl.lean .token {
  transition: all 0.25s; /* Slight fade for highlights */
}

@media (hover: hover) {
  .hl.lean .token.binding-hl, .hl.lean .literal.string:hover, .hl.lean .token.typed:hover {
    background-color: #eee;
    border-radius: 2px;
    transition: none;
  }
}


.hl.lean .has-info {
  text-decoration-style: wavy;
  text-decoration-line: underline;
  text-decoration-thickness: 0.1rem;
}

.hl.lean .has-info .hover-info {
  display: none;
  position: absolute;
  transform: translate(0.25rem, 0.3rem);
  border: 1px solid black;
  padding: 0.5rem;
  z-index: 400;
  text-align: left;
}

.hl.lean .has-info.error {
  text-decoration-color: red;
}

@media (hover: hover) {
  .hl.lean .has-info.error:hover {
    background-color: #ffb3b3;
  }
}

.hl.lean .hover-info.messages &gt; code.error {
  background-color: #e5e5e5;
  border-left: 0.2rem solid #ffb3b3;
}

.tippy-box[data-theme~='error'] .hl.lean .hover-info.messages &gt; code.error {
  background: none;
  border: none;
}

.error pre {
    color: red;
}

.hl.lean .has-info.warning {
  text-decoration-color: #efd871;
}

@media (hover: hover) {
  .hl.lean .has-info.warning:hover {
    background-color: #efd871;
  }
}

.hl.lean .hover-info.messages &gt; code.warning {
  background-color: #efd871;
}

.hl.lean .hover-info.messages &gt; code.error {
  background-color: #e5e5e5;
  border-left: 0.2rem solid #efd871;
}

.tippy-box[data-theme~='warning'] .hl.lean .hover-info.messages &gt; code.warning {
  background: none;
  border: none;
}


.hl.lean .has-info.info {
  text-decoration-color: blue;
}

@media (hover: hover) {
  .hl.lean .has-info.info:hover {
    background-color: #4777ff;
  }
}


.hl.lean .hover-info.messages &gt; code.info {
  background-color: #e5e5e5;
  border-left: 0.2rem solid #4777ff;
}

.tippy-box[data-theme~='info'] .hl.lean .hover-info.messages &gt; code.info {
  background: none;
  border: none;
}

.hl.lean div.docstring {
  font-family: sans-serif;
  white-space: normal;
  max-width: 40rem;
  width: max-content;
}

.hl.lean div.docstring &gt; :last-child {
  margin-bottom: 0;
}

.hl.lean .hover-info .sep {
  display: block;
  width: auto;
  margin-left: 1rem;
  margin-right: 1rem;
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  padding: 0;
  height: 1px;
  border-top: 1px solid #ccc;
}

.hl.lean code {
  font-family: monospace;
}

.hl.lean .tactic-state {
  display: none;
  position: relative;
  left: 2rem;
  width: fit-content;
  border: 1px solid #888888;
  border-radius: 0.1rem;
  padding: 0.5rem;
  font-family: sans-serif;
  background-color: #ffffff;
  z-index: 200;
}

.hl.lean.popup .tactic-state {
  position: static;
  display: block;
  width: auto;
  border: none;
  padding: 0.5rem;
  font-family: sans-serif;
  background-color: #ffffff;
}


.hl.lean .tactic {
  position: relative;
}

.hl.lean .tactic-toggle:checked ~ .tactic-state {
  display: block;
}

/*
@media (hover: hover) {
  .hl.lean .tactic:hover &gt; .tactic-toggle:not(:checked) ~ .tactic-state {
    display: block;
    position: absolute;
    left: 0;
    transform: translate(0.25rem, 0);
    z-index: 250;
  }
}
*/

.hl.lean .tactic &gt; label {
  position: relative;
  transition: all 0.5s;
}

@media (hover: hover) {
  .hl.lean .tactic &gt; label:hover {
    border-bottom: 1px dotted #bbbbbb;
  }
}

.hl.lean .tactic-toggle {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  height: 0;
  width: 0;
  z-index: -10;
}

.hl.lean .tactic &gt; label::after {
  content: "";
  border: 1px solid #bbbbbb;
  border-radius: 1rem;
  height: 0.25rem;
  vertical-align: middle;
  width: 0.6rem;
  margin-left: 0.1rem;
  margin-right: 0.1rem;
  display: inline-block;
  transition: all 0.5s;
}

/*
@media (hover: hover) {
  .hl.lean .tactic &gt; label:hover::after {
    border: 1px solid #aaaaaa;
    background-color: #aaaaaa;
    transition: all 0.5s;
  }
}
*/

.hl.lean .tactic &gt; label:has(+ .tactic-toggle:checked)::after {
  border: 1px solid #999999;
  background-color: #999999;
  transition: all 0.5s;
}

.hl.lean .tactic-state .goal + .goal {
  margin-top: 1.5rem;
}

.hl.lean .tactic-state summary {
  margin-left: -0.5rem;
}

.hl.lean .tactic-state details {
  padding-left: 0.5rem;
}

.hl.lean .case-label {
  display: block;
  position: relative;
}

.hl.lean .case-label input[type="checkbox"] {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  height: 0;
  width: 0;
  z-index: -10;
}

.hl.lean .case-label:has(input[type="checkbox"])::before {
  width: 1rem;
  height: 1rem;
  display: inline-block;
  background-color: black;
  content: ' ';
  transition: ease 0.2s;
  margin-right: 0.7rem;
  clip-path: polygon(100% 0, 0 0, 50% 100%);
  width: 0.6rem;
  height: 0.6rem;
}

.hl.lean .case-label:has(input[type="checkbox"]:not(:checked))::before {
  transform: rotate(-90deg);
}

.hl.lean .case-label:has(input[type="checkbox"]) {

}

.hl.lean .case-label:has(input[type="checkbox"]:checked) {

}


.hl.lean .tactic-state .labeled-case &gt; :not(:first-child) {
  max-height: 0px;
  display: block;
  overflow: hidden;
  transition: max-height 0.1s ease-in;
  margin-left: 0.5rem;
  margin-top: 0.1rem;
}

.hl.lean .labeled-case:has(.case-label input[type="checkbox"]:checked) &gt; :not(:first-child) {
  max-height: 100%;
}


.hl.lean .tactic-state .goal-name::before {
  font-style: normal;
  content: "case ";
}

.hl.lean .tactic-state .goal-name {
  font-style: italic;
  font-family: monospace;
}

.hl.lean .tactic-state .hypotheses {
  display: table;
}

.hl.lean .tactic-state .hypothesis {
  display: table-row;
}

.hl.lean .tactic-state .hypothesis &gt; * {
  display: table-cell;
}


.hl.lean .tactic-state .hypotheses .colon {
  text-align: center;
  min-width: 1rem;
}

.hl.lean .tactic-state .hypotheses .name {
  text-align: right;
}

.hl.lean .tactic-state .hypotheses .name,
.hl.lean .tactic-state .hypotheses .type,
.hl.lean .tactic-state .conclusion .type {
  font-family: monospace;
}

.tippy-box[data-theme~='lean'] {
  background-color: #e5e5e5;
  color: black;
  border: 1px solid black;
}
.tippy-box[data-theme~='lean'][data-placement^='top'] &gt; .tippy-arrow::before {
  border-top-color: #e5e5e5;
}
.tippy-box[data-theme~='lean'][data-placement^='bottom'] &gt; .tippy-arrow::before {
  border-bottom-color: #e5e5e5;
}
.tippy-box[data-theme~='lean'][data-placement^='left'] &gt; .tippy-arrow::before {
  border-left-color: #e5e5e5;
}
.tippy-box[data-theme~='lean'][data-placement^='right'] &gt; .tippy-arrow::before {
  border-right-color: #e5e5e5;
}

.tippy-box[data-theme~='message'][data-placement^='top'] &gt; .tippy-arrow::before {
  border-top-color: #e5e5e5;
  border-width: 11px 11px 0;
}
.tippy-box[data-theme~='message'][data-placement^='top'] &gt; .tippy-arrow::after {
  bottom: -11px;
  border-width: 11px 11px 0;
}
.tippy-box[data-theme~='message'][data-placement^='bottom'] &gt; .tippy-arrow::before {
  border-width: 0 11px 11px;
}
.tippy-box[data-theme~='message'][data-placement^='bottom'] &gt; .tippy-arrow::after {
  top: -11px;
  border-width: 0 11px 11px;
}
.tippy-box[data-theme~='message'][data-placement^='left'] &gt; .tippy-arrow::before {
  border-left-color: #e5e5e5;
  border-width: 11px 0 11px 11px;
}
.tippy-box[data-theme~='message'][data-placement^='left'] &gt; .tippy-arrow::after {
  right: -11px;
  border-width: 11px 0 11px 11px;
}

.tippy-box[data-theme~='message'][data-placement^='right'] &gt; .tippy-arrow::before {
  border-right-color: #e5e5e5;
  border-width: 11px 11px 11px 0;
}
.tippy-box[data-theme~='message'][data-placement^='right'] &gt; .tippy-arrow::after {
  left: -11px;
  border-width: 11px 11px 11px 0;
}



.tippy-box[data-theme~='warning'] {
  background-color: #e5e5e5;
  color: black;
  border: 3px solid #efd871;
}

.tippy-box[data-theme~='error'] {
  background-color: #e5e5e5;
  color: black;
  border: 3px solid #f7a7af;
}

.tippy-box[data-theme~='info'] {
  background-color: #e5e5e5;
  color: black;
  border: 3px solid #99b3c2;
}



.tippy-box[data-theme~='tactic'] {
  background-color: white;
  color: black;
  border: 1px solid black;
}
.tippy-box[data-theme~='tactic'][data-placement^='top'] &gt; .tippy-arrow::before {
  border-top-color: white;
}
.tippy-box[data-theme~='tactic'][data-placement^='bottom'] &gt; .tippy-arrow::before {
  border-bottom-color: white;
}
.tippy-box[data-theme~='tactic'][data-placement^='left'] &gt; .tippy-arrow::before {
  border-left-color: white;
}
.tippy-box[data-theme~='tactic'][data-placement^='right'] &gt; .tippy-arrow::before {
  border-right-color: white;
}


&lt;/style&gt;
&lt;script&gt;
      

window.onload = () =&gt; {

    // Don't show hovers inside of closed tactic states
    function blockedByTactic(elem) {
      let parent = elem.parentNode;
      while (parent &amp;&amp; "classList" in parent) {
        if (parent.classList.contains("tactic")) {
          const toggle = parent.querySelector("input.tactic-toggle");
          if (toggle) {
            return !toggle.checked;
          }
        }
        parent = parent.parentNode;
      }
      return false;
    }

    function blockedByTippy(elem) {
      // Don't show a new hover until the old ones are all closed.
      // Scoped to the nearest "top-level block" to avoid being O(n) in the size of the document.
      var block = elem;
      const topLevel = new Set(["section", "body", "html", "nav", "header"]);
      while (block.parentNode &amp;&amp; !topLevel.has(block.parentNode.nodeName.toLowerCase())) {
        block = block.parentNode;
      }
      for (const child of block.querySelectorAll(".token, .has-info")) {
        if (child._tippy &amp;&amp; child._tippy.state.isVisible) { return true };
      }
      return false;
    }

    for (const c of document.querySelectorAll(".hl.lean .token")) {
        if (c.dataset.binding != "") {
            c.addEventListener("mouseover", (event) =&gt; {
                if (blockedByTactic(c)) {return;}
                const context = c.closest(".hl.lean").dataset.leanContext;
                for (const example of document.querySelectorAll(".hl.lean")) {
                    if (example.dataset.leanContext == context) {
                        for (const tok of example.querySelectorAll(".token")) {
                            if (c.dataset.binding == tok.dataset.binding) {
                                tok.classList.add("binding-hl");
                            }
                        }
                    }
                }
            });
        }
        c.addEventListener("mouseout", (event) =&gt; {
            for (const tok of document.querySelectorAll(".hl.lean .token")) {
                tok.classList.remove("binding-hl");
            }
        });
    }
    /* Render docstrings */
    if ('undefined' !== typeof marked) {
        for (const d of document.querySelectorAll("code.docstring, pre.docstring")) {
            const str = d.innerText;
            const html = marked.parse(str);
            const rendered = document.createElement("div");
            rendered.classList.add("docstring");
            rendered.innerHTML = html;
            d.parentNode.replaceChild(rendered, d);
        }
    }
    // Add hovers
    let siteRoot = typeof __versoSiteRoot !== 'undefined' ? __versoSiteRoot : "/";
    fetch(siteRoot + "flean/verso-docs.json").then((resp) =&gt; resp.json()).then((versoDocData) =&gt; {

      const defaultTippyProps = {
        /* DEBUG -- remove the space: * /
        onHide(any) { return false; },
        trigger: "click",
        // */
        theme: "lean",
        maxWidth: "none",
        appendTo: () =&gt; document.body,
        interactive: true,
        delay: [100, null],
        ignoreAttributes: true,
        onShow(inst) {
          if (inst.reference.querySelector(".hover-info") || "versoHover" in inst.reference.dataset) {
            if (blockedByTactic(inst.reference)) { return false };
            if (blockedByTippy(inst.reference)) { return false; }
          } else { // Nothing to show here!
            return false;
          }
        },
        content (tgt) {
          const content = document.createElement("span");
          content.className = "hl lean";
          content.style.display = "block";
          content.style.maxHeight = "300px";
          content.style.overflowY = "auto";
          content.style.overflowX = "hidden";
          const hoverId = tgt.dataset.versoHover;
          const hoverInfo = tgt.querySelector(".hover-info");
          if (hoverId) { // Docstrings from the table
            // TODO stop doing an implicit conversion from string to number here
            let data = versoDocData[hoverId];
            if (data) {
              const info = document.createElement("span");
              info.className = "hover-info";
              info.style.display = "block";
              info.innerHTML = data;
              content.appendChild(info);
              /* Render docstrings - TODO server-side */
              if ('undefined' !== typeof marked) {
                  for (const d of content.querySelectorAll("code.docstring, pre.docstring")) {
                      const str = d.innerText;
                      const html = marked.parse(str);
                      const rendered = document.createElement("div");
                      rendered.classList.add("docstring");
                      rendered.innerHTML = html;
                      d.parentNode.replaceChild(rendered, d);
                  }
              }
            } else {
              content.innerHTML = "Failed to load doc ID: " + hoverId;
            }
          } else if (hoverInfo) { // The inline info, still used for compiler messages
            content.appendChild(hoverInfo.cloneNode(true));
          }
          return content;
        }
      };

      const addTippy = (selector, props) =&gt; {
        tippy(selector, Object.assign({}, defaultTippyProps, props));
      };
      addTippy('.hl.lean .const.token, .hl.lean .keyword.token, .hl.lean .literal.token, .hl.lean .option.token, .hl.lean .var.token, .hl.lean .typed.token', {theme: 'lean'});
      addTippy('.hl.lean .has-info.warning', {theme: 'warning message'});
      addTippy('.hl.lean .has-info.info', {theme: 'info message'});
      addTippy('.hl.lean .has-info.error', {theme: 'error message'});

      tippy('.hl.lean .tactic', {
        allowHtml: true,
        /* DEBUG -- remove the space: * /
        onHide(any) { return false; },
        trigger: "click",
        // */
        maxWidth: "none",
        onShow(inst) {
          const toggle = inst.reference.querySelector("input.tactic-toggle");
          if (toggle &amp;&amp; toggle.checked) {
            return false;
          }
          if (blockedByTippy(inst.reference)) { return false; }
        },
        theme: "tactic",
        placement: 'bottom-start',
        content (tgt) {
          const content = document.createElement("span");
          const state = tgt.querySelector(".tactic-state").cloneNode(true);
          state.style.display = "block";
          content.appendChild(state);
          content.style.display = "block";
          content.className = "hl lean popup";
          return content;
        }
      });
  });
}

&lt;/script&gt;
    
&lt;script&gt;
      
document.addEventListener("DOMContentLoaded", () =&gt; {
    for (const m of document.querySelectorAll(".math.inline")) {
        katex.render(m.textContent, m, {throwOnError: false, displayMode: false});
    }
    for (const m of document.querySelectorAll(".math.display")) {
        katex.render(m.textContent, m, {throwOnError: false, displayMode: true});
    }
});
&lt;/script&gt;
    
&lt;script src="/flean/verso-js/popper.js"&gt;&lt;/script&gt;
    &lt;script src="/flean/verso-js/tippy.js"&gt;&lt;/script&gt;
    &lt;link rel="stylesheet" href="/flean/verso-css/tippy-border.css"&gt;
    &lt;link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/katex.min.css" integrity="sha384-n8MVd4RsNIU0tAv4ct0nTaAbDJwPJzDEaqSD1odI+WdtXRGWt2kTvGFasHpSy3SV" crossorigin="anonymous"&gt;
    &lt;script defer="defer" src="https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/katex.min.js" integrity="sha384-XjKyOOlGwcjNTAIQHIpgOno0Hl1YQqzUOEleOLALmuqehneUG+vnGctmUb0ZY0l8" crossorigin="anonymous"&gt;&lt;/script&gt;
    &lt;script src="https://cdn.jsdelivr.net/npm/marked@11.1.1/marked.min.js" integrity="sha384-zbcZAIxlvJtNE3Dp5nxLXdXtXyxwOdnILY1TDPVmKFhl4r4nSUG1r8bcFXGVa4Te" crossorigin="anonymous"&gt;&lt;/script&gt;
    &lt;section&gt;
      &lt;h1&gt;
        Flean: Floating point numbers in Lean, mostly done!&lt;/h1&gt;
      &lt;blockquote&gt;&lt;p&gt;
          Note: this probably won't make sense to anyone who hasn't tried to learn the
language &lt;a href="https://lean-lang.org/"&gt;Lean&lt;/a&gt; yet. Do it! There's a &lt;a href="https://adam.math.hhu.de/"&gt;Lean 4 game about
formalizing natural numbers&lt;/a&gt;, which is quite
approachable.&lt;/p&gt;
        &lt;/blockquote&gt;&lt;p&gt;
        TLDR: Implementing floating point numbers in Lean taught me a lot about floating
point numbers. It sharpened my thinking, helped me learn more mathematics in
Lean, and it helped me understand rounding as a concept.&lt;/p&gt;
      &lt;section&gt;
        &lt;h2&gt;
          &lt;span id="intro"&gt;Introduction&lt;/span&gt;&lt;/h2&gt;
        &lt;p&gt;
          See my previous post on &lt;a href="https://josephmckinsey.com/flean.html"&gt;Flean&lt;/a&gt; for
background on why I decided to do this.  Now that I've gotten many of my "goal"
theorems, I felt it was a good time to share what I did and learned. &lt;a href="#approaches"&gt;First&lt;/a&gt;,
I'll go through some of the more basic theory and existing
lines of work in formalization. This should be accessible to anyone who has a
mild familiarity with them already. &lt;a href="#design"&gt;Next&lt;/a&gt;, I'll go through the
design of the library I created, &lt;code&gt;Flean&lt;/code&gt;. This will be slightly more technical,
but I won't go through any code snippets in detail. &lt;a href="#leanlanguage"&gt;Finally&lt;/a&gt;,
I'll go through my own experience with learning Lean as a language, describing
some of the fundamentals I learned about the language. This is geared
towards someone who has some familiarity with the beginner documentation of
Lean, so I expect you to know what tactics are.&lt;/p&gt;
        &lt;p&gt;
          Floating point number errors can be quite subtle, and they
explode when subtracting two large yet
nearly equal numbers followed by multiplication
or division. If you are not careful, you can easily invalidate your results.
Large portions of the 20th century numerical analysis literature
weeded out "unstable" algorithms in favor of largely trusted code,
but many common functions still have more errors across wider ranges
than you would guess. Even &lt;code&gt;sin&lt;/code&gt; is not perfectly accurate on all platforms,
let alone something like matrix inversion. Theorems about floating point numbers
can sharpen our understanding, but they can also provide certificates
that a function is actually "good enough". Usually if you mess up, the worst
that happens is NaN, but sometimes it's more like
&lt;a href="https://www-users.cse.umn.edu/~arnold/disasters/patriot.html"&gt;missile malfunctions&lt;/a&gt;.&lt;/p&gt;
        &lt;p&gt;
          Since I won't be going through my code in significant detail, if you want
to truly understand how it works, then unfortunately the
&lt;a href="https://github.com/josephmckinsey/Flean.git"&gt;code&lt;/a&gt; is still the best option,
and I still haven't learned how to really write documentation in Lean yet.
If you were looking for practical applications, then keep looking, but
maybe I'll invest more if interest arrives. That said, there are certainly
possible applications, but mainly they boil down to proving that calculations
done with floats are "close" to the true answer done with real numbers.&lt;/p&gt;
        &lt;/section&gt;
      &lt;section&gt;
        &lt;h2&gt;
          &lt;span id="approaches"&gt;Approaches for Floating Point Number Proofs&lt;/span&gt;&lt;/h2&gt;
        &lt;p&gt;
          Typically, there are two ways you prove facts about floating point number
errors in a theorem-proving language. Either you use interval arithmetic
to bound calculations, or you bound the error more loosely with each operation.&lt;/p&gt;
        &lt;p&gt;
          Interval arithmetic is better at tight bounds and chaining computations, since
it packages error propagation generally with the rounding to floats. There are
also more extensions for correlating error across computations. You also don't
need to prove anything about conditions of your floating point number, since you
get a bound for your specific input. That's really convenient for arbitrary
computations.&lt;/p&gt;
        &lt;p&gt;
          More traditional numerical analysis models each operation as introducing some
absolute or relative error, which can be propagated into other errors as numbers
are added or multiplied. This becomes quite annoying when you have to mix
absolute and relative error, which is often, and long running computations can
produce extremely loose and large error bounds.&lt;/p&gt;
        &lt;p&gt;
          Finally, SMT solvers may be the fastest way to prove facts about floating point
numbers as well. For the uninitiated, satisfiability modulo theories (SMT) solve
satisfiability problems (like 'is this formula satisfied for a choice of
variables?') modulo a theory like "real numbers" or "bitwise arithmetic" (see
&lt;a href="https://leanprover-community.github.io/mathlib4_docs/Lean/Elab/Tactic/BVDecide.html"&gt;&lt;code&gt;bv_decide&lt;/code&gt;&lt;/a&gt;).
Since floating point computations can be reduced to bitwise arithmetic, this may
be a better long-term approach for proving facts about floating point numbers. I
have not investigated as much as I should, but my impression is that theorems do
not translate as well to different floating point number types (64-bit vs
32-bit).&lt;/p&gt;
        &lt;p&gt;
          Creating functions with small errors is also extremely tricky. Many common
functions such as &lt;code class="math inline"&gt;\sin&lt;/code&gt; or &lt;code class="math inline"&gt;\exp&lt;/code&gt;, have wide domains and transcendental
numbers at a few stages. "Range reduction" (&lt;code class="math inline"&gt;\mod \pi&lt;/code&gt;) just by itself is
annoying to get right and fast for all numbers. You end up needing
to use many digits of pi, and representing that in a way you can apply with
just floating point numbers is not trivial.&lt;/p&gt;
        &lt;p&gt;
          I decided not to solve any of those problems. Instead, I really wanted to see
what it would take to just do any basic floating point number theorems at all in
Lean. Maybe later I'd try to build upon this with accurate computations.  Next,
I'll walk you through how I designed and implemented a theory of floating point
numbers in Lean. Floating point number are a very well-studied topic both within
and outside formalized mathematics, so there were many resources to help guide
me. I'd like to think I put my own spin on things.&lt;/p&gt;
        &lt;section&gt;
          &lt;h3&gt;
            &lt;span id="theory"&gt;A broad overview of floating point numbers&lt;/span&gt;&lt;/h3&gt;
          &lt;p&gt;
            I started out by reviewing what I knew about floating point numbers:&lt;/p&gt;
          &lt;ul&gt;
            &lt;li&gt;
              &lt;p&gt;
                Each floating number had a sign bit, some mantissa, and an exponent.&lt;/p&gt;
              &lt;/li&gt;
            &lt;li&gt;
              &lt;p&gt;
                They were logarithmically spaced.&lt;/p&gt;
              &lt;/li&gt;
            &lt;li&gt;
              &lt;p&gt;
                There were special cases like -0, +0, -inf, +inf, and NaN.&lt;/p&gt;
              &lt;/li&gt;
            &lt;/ul&gt;
          &lt;p&gt;
            Here, I knew that each floating point &lt;code class="math inline"&gt;f&lt;/code&gt; was something like &lt;code class="math inline"&gt;f = (-1)^b (1 +
m / 2^p)  2^{e}&lt;/code&gt; where &lt;code class="math inline"&gt;b&lt;/code&gt; is a boolean, &lt;code class="math inline"&gt;0 \le m &amp;lt; 2^{?}&lt;/code&gt; , and &lt;code class="math inline"&gt;e&lt;/code&gt; an
integer of appropriate size (&lt;code class="math inline"&gt;emin \le e \le emax&lt;/code&gt;). These formulas
were easy to figure out from either Wikipedia, my college memories,
or the books of numerical analysis I've perused over my life and for this
project.&lt;/p&gt;
          &lt;p&gt;
            A little more research into the details of &lt;a href="https://en.wikipedia.org/wiki/IEEE_754"&gt;IEEE 754&lt;/a&gt;
plus some remarks from a friend revealed some even more annoying special cases:&lt;/p&gt;
          &lt;ul&gt;
            &lt;li&gt;
              &lt;p&gt;
                Subnormal numbers of the form &lt;code class="math inline"&gt;(m/2^p) 2^{emin}&lt;/code&gt;. This one was actually
very annoying to find a simple description of. The binary representation
hides this simple formula!&lt;/p&gt;
              &lt;/li&gt;
            &lt;li&gt;
              &lt;p&gt;
                There are many kinds of NaNs. I elected to ignore this and assume a single NaN.&lt;/p&gt;
              &lt;/li&gt;
            &lt;li&gt;
              &lt;p&gt;
                Rounding modes. By default, the default rounding mode is round-to-nearest + special cases,
but it's useful to have other rounding modes. These alternate modes help motivate more
generality too.&lt;/p&gt;
              &lt;/li&gt;
            &lt;/ul&gt;
          &lt;p&gt;
            The &lt;a href="https://en.wikipedia.org/wiki/IEEE_754"&gt;IEEE 754&lt;/a&gt; standard is not without
pleasant surprises. The basic arithmetic operations &lt;code class="math inline"&gt;+, -, *, /&lt;/code&gt; are defined
as the correctly rounded exact values. As long as I was careful about computability,
I didn't even need to write custom &lt;code class="math inline"&gt;+, -, *, /&lt;/code&gt;, etc implementations. All you
need is rounding.&lt;/p&gt;
          &lt;p&gt;
            Even knowing the details and understanding it, the structure and design of the
theorems remains. This is where formalization differentiates itself, since you
now need to organize all the facts around a simpler set of rules you
can start with.&lt;/p&gt;
          &lt;/section&gt;
        &lt;section&gt;
          &lt;h3&gt;
            &lt;a href="https://flocq.gitlabpages.inria.fr/"&gt;Flocq&lt;/a&gt;&lt;/h3&gt;
          &lt;p&gt;
            I also looked at floating point numbers in Rocq (AKA Coq) and found
&lt;a href="https://flocq.gitlabpages.inria.fr/"&gt;&lt;code&gt;flocq&lt;/code&gt;&lt;/a&gt;. I have mixed feelings about it
as a design for Lean. On one hand, it's quite comprehensive. They cover
many cases and extensions that I didn't really consider. Looking back at it,
it seems that Flocq spends a lot more time describing the properties
of subsets of real numbers. They separate how "effective computations"
for multiplication and division and other basic operations, since their
theory concerns the relation to real numbers and not rational numbers. At
the core of Flocq is a predicate &lt;code&gt;generic_format&lt;/code&gt; which describes the set of
real numbers that can be used. Beyond the syntax differences, I don't think I ever
understood how they unified fixed-point (subnormal) and "floating" (normal)
representations. I can tell they have both, but it's a bit unclear how unified
they are. Since I do not unify the two representations, Flocq still
has some technical advantages over my approach. On the other hand,
my computationally effective rounding functions simplifies implementation of
ordinary arithmetic operations. They do represent
&lt;a href="https://en.wikipedia.org/wiki/IEEE_754"&gt;IEEE 754&lt;/a&gt; floats too,
and they even seem to have multiple NaNs, so they should address
other problems of size. Flocq also has the advantage of parameterizing the radix
(you can use any base, not just 2). I think that might be helpful, but I don't
know for who.&lt;/p&gt;
          &lt;p&gt;
            Based on the page &lt;a href="https://flocq.gitlabpages.inria.fr/theos.html"&gt;Flocq in a Nutshell&lt;/a&gt;,
I thought that spacing between floating point numbers would be far more important than
anything else. The way I approached it, rounding seemed like the
more fundamental principle. It was very helpful to think of the
floating point numbers as sets of evenly spaced intervals for each
exponent.&lt;/p&gt;
          &lt;p&gt;
            That said, I would take my own criticisms with a grain of salt. I am
not nearly as knowledgeable about Rocq's libraries as I am of Lean.
It could be skill issue, and the library does handle actual floating
point numbers. I wanted to handle those "real" floating point numbers more
directly, but I couldn't figure out how to unify subnormal and normal numbers.
I will assert that using &lt;code class="math inline"&gt;\mathbb{Q}&lt;/code&gt; instead of &lt;code class="math inline"&gt;\mathbb{R}&lt;/code&gt; makes everything
computable and easier to work with.&lt;/p&gt;
          &lt;/section&gt;
        &lt;section&gt;
          &lt;h3&gt;
            &lt;a href="https://leanprover-community.github.io/mathlib4_docs/Mathlib/Data/FP/Basic.html"&gt;Mathlib.Data.FP&lt;/a&gt;&lt;/h3&gt;
          &lt;p&gt;
            After a few aborted attempts at trying to figure out configuration, rounding,
and how to work with rationals, I found the existing attempt at floating point
formalization at &lt;code&gt;Mathlib.Data.FP&lt;/code&gt;. I used maybe 5 definitions from this and
deleted the rest. I suspect it was written before the development of &lt;code&gt;Int.log&lt;/code&gt;
machinery, which is far too convenient to ignore. I only learned about this from
searching mathlib for more and more terms. It also seemed the most aligned with
what I wanted to do though--a good sign!  I am quite indebted to
&lt;code&gt;Mathlib.Data.FP&lt;/code&gt; as otherwise, I would have spent longer having to write the
configuration objects.&lt;/p&gt;
          &lt;/section&gt;
        &lt;section&gt;
          &lt;h3&gt;
            Other Lean attempts at floating point numbers&lt;/h3&gt;
          &lt;p&gt;
            I know of the &lt;a href="https://github.com/girving/interval"&gt;interval&lt;/a&gt; package now, but I
didn't know until quite far into my own attempts. Luckily it looks related but
quite different in goals. I recall seeing another attempt more recently, but I
cannot find it now. The whims of search are fickle indeed.&lt;/p&gt;
          &lt;/section&gt;
        &lt;section&gt;
          &lt;h3&gt;
            General Floating Point Number Resources&lt;/h3&gt;
          &lt;p&gt;
            Every so often, more modern explanations easily outstrip old ones. Nowadays,
there are modern visualizers of the bit-layout of floating point numbers. You
can plug in different bits and easily see what number is produced.  I really
like https://lukaskollmer.de/ieee-754-visualizer/ and
https://www.h-schmidt.net/FloatConverter/IEEE754.html. I wish I'd been shown
these sites years ago! Bit twiddling in Python or C++ is not nearly as convenient.&lt;/p&gt;
          &lt;video width="75%" controls="true" style="max-width: 75%; margin: 0 auto; display: block;"&gt;&lt;source src="flean/ieee754converter.webm" type="video/webm"&gt;This is demonstration of how the IEEE 754 visualizer works by showing a small
  number like 0.00001 and then a really small subnormal number along with some
  multiples of them&lt;/video&gt;&lt;p&gt;
            At this point, I decided to "send it" and just try coding some basic structures
and functions around it. In the next section, I'll go into the design I landed
on for &lt;code&gt;Flean&lt;/code&gt;.&lt;/p&gt;
          &lt;/section&gt;
        &lt;/section&gt;
      &lt;section&gt;
        &lt;h2&gt;
          &lt;span id="design"&gt;Flean Design&lt;/span&gt;&lt;/h2&gt;
        &lt;p&gt;
          Flean focuses on rounding from &lt;code class="math inline"&gt;\mathbb{Q}&lt;/code&gt; to floating point representations
and interpreting floating point representations in &lt;code class="math inline"&gt;\mathbb{Q}&lt;/code&gt;. The use of
&lt;code class="math inline"&gt;\mathbb{Q}&lt;/code&gt; made it all computable, and the explicit conversion functions have
a lot of structure in them. Since the behavior of floating point numbers is completely
determined by the rounding, this provides a pretty good base to build more
complicated proofs off of (hopefully).&lt;/p&gt;
        &lt;p&gt;
          Here are a few core data types the library is proving things &lt;em&gt;about&lt;/em&gt;:&lt;/p&gt;
        &lt;img src="flean/type_diagram.svg" alt="A diagram showing the different types of floating point numbers in Flean" style="max-width: 50%; margin: 0 auto; display: block;"&gt;&lt;/img&gt;&lt;ul&gt;
          &lt;li&gt;
            &lt;p&gt;
              &lt;code&gt;FloatCfg&lt;/code&gt;: usually named &lt;code class="math inline"&gt;C&lt;/code&gt; contains the precision &lt;code&gt;C.prec&lt;/code&gt;,
which is the density of points for each mantissa. It's usually &lt;code class="math inline"&gt;2^p&lt;/code&gt; and scales the mantissa.
&lt;code&gt;FloatCfg&lt;/code&gt; also has &lt;code&gt;emin&lt;/code&gt; and &lt;code&gt;emax&lt;/code&gt; for the exponent limits. And some lemmas about these variables.&lt;/p&gt;
            &lt;/li&gt;
          &lt;/ul&gt;
        &lt;code class="hl lean block" data-lean-context="demo"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.definition-13704"&gt;def&lt;/span&gt; &lt;span class="const token" data-binding="const-DoubleCfg" data-verso-hover="0"&gt;DoubleCfg&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt; &lt;span class="const token" data-binding="const-FloatCfg" data-verso-hover="1"&gt;FloatCfg&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt; &lt;span class="const token" data-binding="const-FloatCfg.mk" data-verso-hover="2"&gt;FloatCfg.mk&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="3"&gt;1&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;&amp;lt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="typed token" data-binding="" data-verso-hover="3"&gt;52&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;-&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="4"&gt;1022&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt; &lt;span class="typed token" data-binding="" data-verso-hover="4"&gt;1023&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-12326350224581579854-13769-13771"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.byTactic-13769" data-verso-hover="5"&gt;by&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-12326350224581579854-13769-13771"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;-1022&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="6"&gt; &amp;lt; &lt;/span&gt;1023&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;span class="tactic"&gt;&lt;label for="tactic-state-7-13772-13780"&gt;&lt;span class="keyword token" data-binding="kw-occ-Mathlib.Tactic.normNum-13772" data-verso-hover="7"&gt;norm_num&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-13772-13780"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;
  &lt;span class="const token" data-binding="const-Nat.zero_lt_succ" data-verso-hover="8"&gt;Nat.zero_lt_succ&lt;/span&gt; &lt;span class="typed token" data-binding="" data-verso-hover="3"&gt;4503599627370495&lt;/span&gt;  -- computed with exact?
&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;  -- this is a double
&lt;span class="unknown token" data-binding=""&gt;&lt;/span&gt;&lt;/code&gt;&lt;ul&gt;
          &lt;li&gt;
            &lt;p&gt;
              &lt;code&gt;FloatRep&lt;/code&gt; represents "normal" numbers as sign, exponent, and mantissa, so
coercion to the rationals is given by &lt;code class="math inline"&gt;(-1)^b (1 + m / C.prec) 2^e&lt;/code&gt;. It's just
a struct with 3 elements!&lt;/p&gt;
            &lt;/li&gt;
          &lt;/ul&gt;
        &lt;code class="hl lean block" data-lean-context="demo"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.definition-14070"&gt;def&lt;/span&gt; &lt;span class="const token" data-binding="const-example_normal" data-verso-hover="9"&gt;example_normal&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt; &lt;span class="const token" data-binding="const-FloatRep" data-verso-hover="10"&gt;FloatRep&lt;/span&gt; &lt;span class="const token" data-binding="const-DoubleCfg" data-verso-hover="0"&gt;DoubleCfg&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt; &lt;span class="const token" data-binding="const-FloatRep.mk" data-verso-hover="11"&gt;FloatRep.mk&lt;/span&gt; &lt;span class="const token" data-binding="const-Bool.false" data-verso-hover="12"&gt;false&lt;/span&gt; &lt;span class="typed token" data-binding="" data-verso-hover="4"&gt;0&lt;/span&gt; &lt;span class="typed token" data-binding="" data-verso-hover="3"&gt;23&lt;/span&gt;
-- Converting to rational, it's just a bit bigger than 1
&lt;span class="has-info info"&gt;&lt;span class="hover-container"&gt;&lt;span class="hover-info messages"&gt;&lt;code class="message info"&gt;(4503599627370519 : Rat)/4503599627370496&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.eval-14193" data-verso-hover="13"&gt;#eval&lt;/span&gt;&lt;/span&gt; &lt;span class="const token" data-binding="const-coe_q" data-verso-hover="14"&gt;coe_q&lt;/span&gt; &lt;span class="const token" data-binding="const-example_normal" data-verso-hover="9"&gt;example_normal&lt;/span&gt;  -- Try hovering or clicking terms
&lt;span class="unknown token" data-binding=""&gt;&lt;/span&gt;&lt;/code&gt;&lt;ul&gt;
          &lt;li&gt;
            &lt;p&gt;
              &lt;code&gt;SubnormRep&lt;/code&gt; represents "subnormal" numbers of the form &lt;code class="math inline"&gt;(-1)^b
\frac{m}{C.prec} 2^{C.emin}&lt;/code&gt;. Since it's just a struct, both &lt;code&gt;(true, 0)&lt;/code&gt; and
&lt;code&gt;(false, 0)&lt;/code&gt; represent &lt;code class="math inline"&gt;0&lt;/code&gt;. These are essentially small fixed point numbers
right at the bottom of the range of "normal numbers".&lt;/p&gt;
            &lt;/li&gt;
          &lt;/ul&gt;
        &lt;code class="hl lean block" data-lean-context="demo"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.definition-14549"&gt;def&lt;/span&gt; &lt;span class="const token" data-binding="const-example_subnorm" data-verso-hover="15"&gt;example_subnorm&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt; &lt;span class="const token" data-binding="const-SubnormRep" data-verso-hover="16"&gt;SubnormRep&lt;/span&gt; &lt;span class="const token" data-binding="const-DoubleCfg" data-verso-hover="0"&gt;DoubleCfg&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt; &lt;span class="const token" data-binding="const-SubnormRep.mk" data-verso-hover="17"&gt;SubnormRep.mk&lt;/span&gt; &lt;span class="const token" data-binding="const-Bool.false" data-verso-hover="12"&gt;false&lt;/span&gt; &lt;span class="typed token" data-binding="" data-verso-hover="3"&gt;10&lt;/span&gt;
&lt;span class="has-info info"&gt;&lt;span class="hover-container"&gt;&lt;span class="hover-info messages"&gt;&lt;code class="message info"&gt;(5 : Rat)/101201126653655309176247673359458653524778324882071059178450679013715169783997673445980191850718562247593538932158405955694904368692896738433506699970369254960758712138283180682233453871046608170619883839236372534281003741712346349309051677824579778170405028256179384776166707307615251266093163754323003131653853870546747392&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.eval-14618" data-verso-hover="13"&gt;#eval&lt;/span&gt;&lt;/span&gt; &lt;span class="const token" data-binding="const-subnormal_to_q" data-verso-hover="18"&gt;subnormal_to_q&lt;/span&gt; &lt;span class="const token" data-binding="const-example_subnorm" data-verso-hover="15"&gt;example_subnorm&lt;/span&gt;  -- Converting to rational, it's really close to 0
&lt;span class="unknown token" data-binding=""&gt;&lt;/span&gt;&lt;/code&gt;&lt;ul&gt;
          &lt;li&gt;
            &lt;p&gt;
              &lt;code&gt;Flean.Float&lt;/code&gt; which packages a &lt;code&gt;FloatRep&lt;/code&gt;, &lt;code&gt;SubnormRep&lt;/code&gt;, &lt;code class="math inline"&gt;\pm&lt;/code&gt; &lt;code&gt;inf&lt;/code&gt;, &lt;code&gt;NaN&lt;/code&gt;
with proofs about sizes. I haven't proved this, but there should be a bijective
correspondence between ordinary floating point numbers and these &lt;code&gt;Flean.Float&lt;/code&gt;.&lt;/p&gt;
            &lt;/li&gt;
          &lt;/ul&gt;
        &lt;code class="hl lean block" data-lean-context="demo"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.definition-14964"&gt;def&lt;/span&gt; &lt;span class="const token" data-binding="const-example_float" data-verso-hover="19"&gt;example_float&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt; &lt;span class="const token" data-binding="const-Flean.Float" data-verso-hover="20"&gt;Flean.Float&lt;/span&gt; &lt;span class="const token" data-binding="const-DoubleCfg" data-verso-hover="0"&gt;DoubleCfg&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-Flean.Float.normal" data-verso-hover="21"&gt;Flean.Float.normal&lt;/span&gt;
  &lt;span class="const token" data-binding="const-example_normal" data-verso-hover="9"&gt;example_normal&lt;/span&gt;
  &lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-15960977303124353350-15049-15051"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.byTactic-15049" data-verso-hover="5"&gt;by&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-15960977303124353350-15049-15051"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-example_normal" data-verso-hover="9"&gt;example_normal&lt;/span&gt;.valid_e&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;span class="tactic"&gt;&lt;label for="tactic-state-7-15052-15102"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.simp-15052" data-verso-hover="22"&gt;simp&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="const token" data-binding="const-FloatRep.valid_e" data-verso-hover="23"&gt;FloatRep.valid_e&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;,&lt;/span&gt; &lt;span class="const token" data-binding="const-example_normal" data-verso-hover="9"&gt;example_normal&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;,&lt;/span&gt; &lt;span class="const token" data-binding="const-DoubleCfg" data-verso-hover="0"&gt;DoubleCfg&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-15052-15102"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;
  &lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-6475149947281339439-15107-15109"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.byTactic-15107" data-verso-hover="5"&gt;by&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-6475149947281339439-15107-15109"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-example_normal" data-verso-hover="9"&gt;example_normal&lt;/span&gt;.valid_m&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;span class="tactic"&gt;&lt;label for="tactic-state-7-15110-15160"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.simp-15110" data-verso-hover="22"&gt;simp&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="const token" data-binding="const-FloatRep.valid_m" data-verso-hover="24"&gt;FloatRep.valid_m&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;,&lt;/span&gt; &lt;span class="const token" data-binding="const-example_normal" data-verso-hover="9"&gt;example_normal&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;,&lt;/span&gt; &lt;span class="const token" data-binding="const-DoubleCfg" data-verso-hover="0"&gt;DoubleCfg&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-15110-15160"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;
&lt;span class="has-info info"&gt;&lt;span class="hover-container"&gt;&lt;span class="hover-info messages"&gt;&lt;code class="message info"&gt;(4503599627370519 : Rat)/4503599627370496&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.eval-15163" data-verso-hover="13"&gt;#eval&lt;/span&gt;&lt;/span&gt; &lt;span class="const token" data-binding="const-to_rat" data-verso-hover="25"&gt;to_rat&lt;/span&gt; &lt;span class="const token" data-binding="const-example_float" data-verso-hover="19"&gt;example_float&lt;/span&gt;  -- Converting to rational, it's just a bit bigger than 1
&lt;span class="unknown token" data-binding=""&gt;&lt;/span&gt;&lt;/code&gt;&lt;img src="flean/float_diagram.svg" alt="A diagram of the types on a number line" style="max-width: 50%; margin: 0 auto; display: block;"&gt;&lt;/img&gt;&lt;p&gt;
          Here are the "goal theorems" I really wanted to prove (and succeeded):&lt;/p&gt;
        &lt;ul&gt;
          &lt;li&gt;
            &lt;p&gt;
              Coercing a float to the rationals and then rounding should always give the
same thing! So we have a little invertibility still. This limited "injectivity"
of the floating points into the rationals captures how floating point numbers
are a subset of the rationals.&lt;/p&gt;
            &lt;/li&gt;
          &lt;/ul&gt;
        &lt;code class="hl lean block" data-lean-context="demo"&gt;&lt;span class="has-info info"&gt;&lt;span class="hover-container"&gt;&lt;span class="hover-info messages"&gt;&lt;code class="message info"&gt;to_float_to_rat {C : FloatCfg} [R : Rounding] (f : Flean.Float C) (finite : f.IsFinite) (nonzero : ¬f.IsZero) :
  to_float (to_rat f) = f&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.check-15634"&gt;#check&lt;/span&gt;&lt;/span&gt; &lt;span class="const token" data-binding="const-to_float_to_rat" data-verso-hover="26"&gt;to_float_to_rat&lt;/span&gt;
&lt;span class="unknown token" data-binding=""&gt;&lt;/span&gt;&lt;/code&gt;&lt;ul&gt;
          &lt;li&gt;
            &lt;p&gt;
              Rounding and then coercing back to the rationals should leave us "close" to
where we started.&lt;/p&gt;
            &lt;/li&gt;
          &lt;/ul&gt;
        &lt;code class="hl lean block" data-lean-context="demo"&gt;&lt;span class="has-info info"&gt;&lt;span class="hover-container"&gt;&lt;span class="hover-info messages"&gt;&lt;code class="message info"&gt;float_error {C : FloatCfg} [R : Rounding] (q : ℚ) (h : (to_float q).IsFinite) :
  |to_rat (to_float q) - q| ≤ 2 ^ C.emin / ↑C.prec ⊔ 2 ^ Int.log 2 |q| / ↑C.prec&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.check-15772"&gt;#check&lt;/span&gt;&lt;/span&gt; &lt;span class="const token" data-binding="const-float_error" data-verso-hover="27"&gt;float_error&lt;/span&gt;
&lt;span class="unknown token" data-binding=""&gt;&lt;/span&gt;&lt;/code&gt;&lt;p&gt;
          Writing conversion functions from the floating-point representations to the
rationals was extremely straight-forward. Writing the rounding function was
a lot more annoying. To do &lt;code&gt;Flean.Float&lt;/code&gt;, you have to first do normal and
subnormal numbers.&lt;/p&gt;
        &lt;section&gt;
          &lt;h3&gt;
            Normal Numbers&lt;/h3&gt;
          &lt;p&gt;
            Once I had the integer logarithm function in hand, getting the exponent &lt;code class="math inline"&gt;e =
\lfloor \log_2 |q| \rfloor&lt;/code&gt; and mantissa &lt;code class="math inline"&gt;m&lt;/code&gt; were easy enough when rounding to
0:&lt;/p&gt;
          &lt;p&gt;
            &lt;code class="math display"&gt;\lfloor (|q| / 2^{\lfloor \log_2 |q| \rfloor} - 1) \, C.prec \rfloor&lt;/code&gt;&lt;/p&gt;
          &lt;p&gt;
            This proved sufficient for some initial theorems and exploration, but I
eventually outgrew this when I wanted to talk about other rounding modes.
You can already see how the use of integer logarithms along
with a lot of conversions to integers and then natural numbers.&lt;/p&gt;
          &lt;p&gt;
            Just proving all the theorems for injectivity required far more effort than I
expected. I didn't even recognize that rounding wasn't well-defined at &lt;code class="math inline"&gt;0&lt;/code&gt;.
There is nothing truly new foundationally here (i.e. nothing worth including in
mathlib), but I'll leave the reader to contemplate how long it took humans to
use &lt;a href="https://hsm.stackexchange.com/questions/15929/seeking-comprehensive-references-on-the-history-of-scientific-notation"&gt;scientific notation&lt;/a&gt;.
The uniqueness and size properties require knowing a thing or two about exponents.
Today, it should fall out of basic algebra.&lt;/p&gt;
          &lt;p&gt;
            I do wonder how the human computers of old would handle rounding errors. I'm
more convinced that subtle rounding errors could gradually appear if a
computation was spread between several people.&lt;/p&gt;
          &lt;/section&gt;
        &lt;section&gt;
          &lt;h3&gt;
            Rounding Modes&lt;/h3&gt;
          &lt;p&gt;
            Since no one truly uses round-to-&lt;code class="math inline"&gt;0&lt;/code&gt; in a real computation, I wanted to
represent the &lt;em&gt;real&lt;/em&gt; way people round floating point numbers:&lt;/p&gt;
          &lt;ul&gt;
            &lt;li&gt;
              &lt;p&gt;
                Round to nearest, but...&lt;/p&gt;
              &lt;/li&gt;
            &lt;li&gt;
              &lt;p&gt;
                If tie, then round to one with an even mantissa.&lt;/p&gt;
              &lt;/li&gt;
            &lt;/ul&gt;
          &lt;p&gt;
            To no surprise, I had to implement this round to nearest. This is significantly
more annoying than just flooring, but like flooring, we can do it with special
function. I eventually realized that all the different rounding modes can be
represented as functions &lt;code class="math inline"&gt;r : Bool \times \mathbb{Q} \to \mathbb{N}&lt;/code&gt;. The
boolean allows you to round to 0 or to round down, and the natural number output
captures the absolute value business I need for a non-negative mantissa. These
&lt;code&gt;IntRounder&lt;/code&gt; are a &lt;code&gt;ValidRounder&lt;/code&gt; if they preserve the order of positive &lt;code class="math inline"&gt;q \in
Q&lt;/code&gt; and if they preserve the natural numbers.&lt;/p&gt;
          &lt;p&gt;
            Here are the key functions and lemmas:&lt;/p&gt;
          &lt;code class="hl lean block" data-lean-context="demo"&gt;&lt;span class="has-info info"&gt;&lt;span class="hover-container"&gt;&lt;span class="hover-info messages"&gt;&lt;code class="message info"&gt;def round_near_int : ℚ → ℤ :=
fun q =&amp;gt;
  let i1 := ⌊q⌋;
  let i2 := ⌈q⌉;
  if Int.fract q &amp;lt; 1 / 2 then i1 else if 1 / 2 &amp;lt; Int.fract q then i2 else if i1 % 2 = 0 then i1 else i2&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.print-18235"&gt;#print&lt;/span&gt;&lt;/span&gt; &lt;span class="const token" data-binding="const-round_near_int" data-verso-hover="28"&gt;round_near_int&lt;/span&gt;
&lt;span class="has-info info"&gt;&lt;span class="hover-container"&gt;&lt;span class="hover-info messages"&gt;&lt;code class="message info"&gt;ValidRounder.le_iff_le {f : Bool → ℚ → ℕ} [self : ValidRounder f] (s : Bool) (q1 q2 : ℚ) :
  0 ≤ q1 → q1 ≤ q2 → f s q1 ≤ f s q2&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.check-18257"&gt;#check&lt;/span&gt;&lt;/span&gt; &lt;span class="const token" data-binding="const-ValidRounder.le_iff_le" data-verso-hover="29"&gt;ValidRounder.le_iff_le&lt;/span&gt;
&lt;span class="has-info info"&gt;&lt;span class="hover-container"&gt;&lt;span class="hover-info messages"&gt;&lt;code class="message info"&gt;ValidRounder.leftInverse {f : Bool → ℚ → ℕ} [self : ValidRounder f] (s : Bool) : Function.LeftInverse (f s) Nat.cast&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.check-18287"&gt;#check&lt;/span&gt;&lt;/span&gt; &lt;span class="const token" data-binding="const-ValidRounder.leftInverse" data-verso-hover="30"&gt;ValidRounder.leftInverse&lt;/span&gt;
&lt;span class="unknown token" data-binding=""&gt;&lt;/span&gt;&lt;/code&gt;&lt;/section&gt;
        &lt;section&gt;
          &lt;h3&gt;
            Order properties!&lt;/h3&gt;
          &lt;p&gt;
            TLDR: &lt;strong&gt;Preserving order&lt;/strong&gt; and &lt;strong&gt;injectivity&lt;/strong&gt; (with the exceptions) are how you
prove most properties about all floating point number calculations.&lt;/p&gt;
          &lt;p&gt;
            After handling a few approximation lemmas as well as trying to prove a preliminary
range lemma, I realized that rounding had another really important property beyond
injectivity and approximated error. Rounding preserves the order of numbers.
If you want to prove that "all numbers in this range round to within another range",
then using the ordering provides you much tighter bounds. You can just compute
the behavior at the boundary and extrapolate.&lt;/p&gt;
          &lt;p&gt;
            You don't necessarily &lt;em&gt;need&lt;/em&gt; that rounding preserves order. For instance,
it still seems clear to me that a version of rounding that added
more noise would still have some of the same convenient properties, but
you wouldn't be able to prove theorems and lemmas nearly as directly.
Preserving order lets you compare floating point numbers and rationals as if they
live in the same space, so &lt;code class="math inline"&gt;x \le \sqrt{2}&lt;/code&gt; implies that &lt;code class="math inline"&gt;\mathrm{r}(x) \le \sqrt{2}&lt;/code&gt;,
which is very convenient.
Preserving order and injectivity gives you lemmas about closeness once you can find and use
nearby floating point numbers. Note that this comparison uses &lt;code class="math inline"&gt;\le&lt;/code&gt; and not &lt;code class="math inline"&gt;&amp;lt;&lt;/code&gt;,
since &lt;code class="math inline"&gt;x &amp;lt; 1&lt;/code&gt; may leave us with &lt;code class="math inline"&gt;\mathrm{r}(x) = 1&lt;/code&gt;.&lt;/p&gt;
          &lt;p&gt;
            Preserving the ordering also proves that
interval arithmetic works at all, once you know rounding down and rounding
up bounds a value. If you wanted to use &lt;code&gt;Flean&lt;/code&gt; to develop a theory of interval arithmetic,
then you would start with the facts that the rounding modes bound &lt;code class="math inline"&gt;x&lt;/code&gt;:
&lt;code class="math inline"&gt;x^- \le x \le x^+&lt;/code&gt;. Then you can prove theorems like &lt;code class="math inline"&gt;(x^- + y^-) \le x + y \le (x^+ + y^+)&lt;/code&gt;
using the usual properties of rationals, then finally we can apply rounding one more time:
&lt;code class="math inline"&gt;(x^- + y^-)^- \le x + y \le (x^+ + y^+)^+&lt;/code&gt;. Since IEEE754 defines addition
of floating point numbers using rounding like this, we can then prove
that the true answer &lt;code class="math inline"&gt;x + y&lt;/code&gt; is within these bounds. Assuming you are willing
to fiddle with CPU rounding modes, then you have some verified bounds
on computations. That said, it may be more convenient to replace rounding up
to &lt;code class="math inline"&gt;x^+&lt;/code&gt; with "rounding + a small constant" instead.&lt;/p&gt;
          &lt;p&gt;
            Proving the rounding properties is also simple enough with our convenient
&lt;code&gt;ValidRounder.le_iff_le&lt;/code&gt; lemma. Rounding on the rationals is a scaled version of
the integer rounder rounder &lt;code class="math inline"&gt;r : Bool \times \mathbb{Q} \to \mathbb{N}&lt;/code&gt;.
There's a few caveats in positive or negative and normalization, but it's
nothing serious.&lt;/p&gt;
          &lt;p&gt;
            I initially defined the comparison of floating point numbers using the
"injection" to the rationals, but for computing comparisons to specific values
such as &lt;code class="math inline"&gt;2^e&lt;/code&gt;, it was convenient to define a direct comparison.  There are a
couple ways of doing this once numbers are normalized, either by looking for
exponent differences and then mantissa differences.  This is one of the several
times where it occurred to me that comparing numbers in scientific notation is
not 100% trivial. I'll leave it to your imagination to create scenarios where
insufficient normalization could make the comparison annoying.&lt;/p&gt;
          &lt;code class="hl lean block" data-lean-context="demo"&gt;&lt;span class="has-info info"&gt;&lt;span class="hover-container"&gt;&lt;span class="hover-info messages"&gt;&lt;code class="message info"&gt;def floatrep_le_pos : {C : FloatCfg} → FloatRep C → FloatRep C → Prop :=
fun {C} f1 f2 =&amp;gt; f1.e &amp;lt; f2.e ∨ f1.e = f2.e ∧ f1.m ≤ f2.m&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.print-21494"&gt;#print&lt;/span&gt;&lt;/span&gt; &lt;span class="const token" data-binding="const-floatrep_le_pos" data-verso-hover="31"&gt;floatrep_le_pos&lt;/span&gt;  -- nice
&lt;span class="has-info info"&gt;&lt;span class="hover-container"&gt;&lt;span class="hover-info messages"&gt;&lt;code class="message info"&gt;def floatrep_le_pos' : {C : FloatCfg} → FloatRep C → FloatRep C → Prop :=
fun {C} f1 f2 =&amp;gt; f1.e ≤ f2.e ∧ (f1.e = f2.e → f1.m ≤ f2.m)&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.print-21526"&gt;#print&lt;/span&gt;&lt;/span&gt; &lt;span class="const token" data-binding="const-floatrep_le_pos'" data-verso-hover="32"&gt;floatrep_le_pos'&lt;/span&gt;  -- nice equivalent form
&lt;span class="has-info info"&gt;&lt;span class="hover-container"&gt;&lt;span class="hover-info messages"&gt;&lt;code class="message info"&gt;def floatrep_le : {C : FloatCfg} → FloatRep C → FloatRep C → Prop :=
fun {C} f1 f2 =&amp;gt;
  match (f1.s, f2.s) with
  | (false, false) =&amp;gt; floatrep_le_pos f1 f2
  | (false, true) =&amp;gt; False
  | (true, false) =&amp;gt; True
  | (true, true) =&amp;gt; floatrep_le_pos f2.neg f1.neg&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.print-21575"&gt;#print&lt;/span&gt;&lt;/span&gt; &lt;span class="const token" data-binding="const-floatrep_le" data-verso-hover="33"&gt;floatrep_le&lt;/span&gt;  -- I try to avoid this because of the casework
&lt;span class="has-info info"&gt;&lt;span class="hover-container"&gt;&lt;span class="hover-info messages"&gt;&lt;code class="message info"&gt;floatrep_le_iff_coe_q_le {C : FloatCfg} (f1 f2 : FloatRep C) (vm1 : f1.valid_m) (vm2 : f2.valid_m) :
  floatrep_le f1 f2 ↔ coe_q f1 ≤ coe_q f2&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.check-21642"&gt;#check&lt;/span&gt;&lt;/span&gt; &lt;span class="const token" data-binding="const-floatrep_le_iff_coe_q_le" data-verso-hover="34"&gt;floatrep_le_iff_coe_q_le&lt;/span&gt;  -- a "goal theorem"
&lt;span class="unknown token" data-binding=""&gt;&lt;/span&gt;&lt;/code&gt;&lt;/section&gt;
        &lt;section&gt;
          &lt;h3&gt;
            More special cases :(&lt;/h3&gt;
          &lt;p&gt;
            If I was pleasantly surprised by how nice order-theoretic properties simplified
the proofs, I was unpleasantly surprised by how many special cases there were.
I expected a few, but I had hoped that I could have squished more of them together
somehow.&lt;/p&gt;
          &lt;p&gt;
            What actually happened was that each time I encountered a special case,
I either needed special hypotheses and lemmas, symmetry laws to
reduce the cases, or equivalent representations to provide more
convenient forms. Splitting more naively was usually a stop-gap
solution. I'll go through a few of the special cases one by one and show
how I tackled them.&lt;/p&gt;
          &lt;section&gt;
            &lt;h4&gt;
              Zero or non-zero&lt;/h4&gt;
            &lt;p&gt;
              Many theorems about uniqueness or injectivity only work for non-zero values.
Either rounding isn't well defined for "normal" numbers at &lt;code class="math inline"&gt;0&lt;/code&gt;, or there's
the non-unique floating points &lt;code class="math inline"&gt;\pm 0&lt;/code&gt; for fixed point subnormal numbers.
This means that I often need to carry around hypotheses like &lt;code class="math inline"&gt;q \neq 0&lt;/code&gt;
or consider them separately:&lt;/p&gt;
            &lt;code class="hl lean block" data-lean-context="demo"&gt;&lt;span class="has-info info"&gt;&lt;span class="hover-container"&gt;&lt;span class="hover-info messages"&gt;&lt;code class="message info"&gt;le_roundf_of_le {C : FloatCfg} (r : IntRounder) [rh : ValidRounder r] (q1 q2 : ℚ) (q1_nezero : q1 ≠ 0)
  (q2_nezero : q2 ≠ 0) : q1 ≤ q2 → coe_q (roundf r q1) ≤ coe_q (roundf r q2)&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.check-22702"&gt;#check&lt;/span&gt;&lt;/span&gt; &lt;span class="const token" data-binding="const-le_roundf_of_le" data-verso-hover="35"&gt;le_roundf_of_le&lt;/span&gt;  -- observe a lot of nonnegativity hypotheses
&lt;span class="unknown token" data-binding=""&gt;&lt;/span&gt;&lt;/code&gt;&lt;p&gt;
              I would consider this case unavoidable since floating point numbers
have &lt;code&gt;+0&lt;/code&gt; and &lt;code&gt;-0&lt;/code&gt;, which behave differently for functions like &lt;code&gt;atan2&lt;/code&gt;.
That actually impacted me at my day job unfortunately.&lt;/p&gt;
            &lt;/section&gt;
          &lt;section&gt;
            &lt;h4&gt;
              Sign bit&lt;/h4&gt;
            &lt;p&gt;
              As related to the &lt;code&gt;±0&lt;/code&gt; issue, the sign of a floating point number often
determines special behavior away from &lt;code class="math inline"&gt;0&lt;/code&gt; too. I dealt with this by
&lt;code&gt;neg&lt;/code&gt; functions and symmetries laws through rounding and coercion/injection.
When rounding &lt;code class="math inline"&gt;-q&lt;/code&gt;, you also have to carry through a negative &lt;code&gt;IntRounder&lt;/code&gt;
which mirrors rounding up to rounding down and vice versa. This application
of symmetry was so successful that I considered reframing more in terms of symmetry,
but it seemed too ad-hoc. Algebra bashing directly was more effective usually.&lt;/p&gt;
            &lt;code class="hl lean block" data-lean-context="demo"&gt;&lt;span class="has-info info"&gt;&lt;span class="hover-container"&gt;&lt;span class="hover-info messages"&gt;&lt;code class="message info"&gt;coe_q_of_neg {C : FloatCfg} (f : FloatRep C) : coe_q f.neg = -coe_q f&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.check-23536"&gt;#check&lt;/span&gt;&lt;/span&gt; &lt;span class="const token" data-binding="const-coe_q_of_neg" data-verso-hover="36"&gt;coe_q_of_neg&lt;/span&gt; -- an example of my symmetry laws
&lt;span class="unknown token" data-binding=""&gt;&lt;/span&gt;&lt;/code&gt;&lt;p&gt;
              When proving rounding preserves order, symmetry laws became truly annoying.
As the theorem is not symmetric in each variable separately, I split
the plane &lt;code class="math inline"&gt;\mathbb{Q} \times \mathbb{Q}&lt;/code&gt; into 4 quadrants and created
symmetry goals for the different pieces.
The only time symmetry laws became truly annoying was when trying to prove that rounding
preserves order, since that requires splitting into a few symmetry based cases.&lt;/p&gt;
            &lt;code class="hl lean block" data-lean-context="demo"&gt;&lt;span class="has-info info"&gt;&lt;span class="hover-container"&gt;&lt;span class="hover-info messages"&gt;&lt;code class="message info"&gt;casesQPlane (P : ℚ → ℚ → Prop) (h1 : ∀ q1 &amp;gt; 0, ∀ q2 &amp;gt; 0, P q1 q2) (h2 : ∀ q1 &amp;lt; 0, ∀ q2 &amp;gt; 0, P q1 q2)
  (h3 : ∀ q1 &amp;gt; 0, ∀ q2 &amp;lt; 0, P q1 q2) (h4 : ∀ q1 &amp;lt; 0, ∀ q2 &amp;lt; 0, P (-q1) (-q2) → P q2 q1) (q1 q2 : ℚ) (q1_nezero : q1 ≠ 0)
  (q2_nezero : q2 ≠ 0) : P q1 q2&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.check-24035"&gt;#check&lt;/span&gt;&lt;/span&gt; &lt;span class="const token" data-binding="const-casesQPlane" data-verso-hover="37"&gt;casesQPlane&lt;/span&gt; -- way too many cases here
&lt;span class="unknown token" data-binding=""&gt;&lt;/span&gt;&lt;/code&gt;&lt;/section&gt;
          &lt;section&gt;
            &lt;h4&gt;
              Mantissa carry-over&lt;/h4&gt;
            &lt;p&gt;
              Some rounding modes required normalizing, but noticing that the normalized injected
&lt;code class="math inline"&gt;\mathbb{Q}&lt;/code&gt; was equivalent to an unnormalized form simplified expressions
when in &lt;code class="math inline"&gt;\mathbb{Q}&lt;/code&gt; (which I usually was).&lt;/p&gt;
            &lt;code class="hl lean block" data-lean-context="demo"&gt;&lt;span class="has-info info"&gt;&lt;span class="hover-container"&gt;&lt;span class="hover-info messages"&gt;&lt;code class="message info"&gt;coe_normalize {C : FloatCfg} (f : FloatRep C) (h : f.m ≤ C.prec) : coe_q f.normalize = coe_q f&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.check-24330"&gt;#check&lt;/span&gt;&lt;/span&gt; &lt;span class="const token" data-binding="const-coe_normalize" data-verso-hover="38"&gt;coe_normalize&lt;/span&gt;
&lt;span class="unknown token" data-binding=""&gt;&lt;/span&gt;&lt;/code&gt;&lt;p&gt;
              When I was not in &lt;code class="math inline"&gt;\mathbb{Q}&lt;/code&gt;, I had to deal with normalization when
it actually mattered for the sizes of the mantissa and exponent.&lt;/p&gt;
            &lt;/section&gt;
          &lt;section&gt;
            &lt;h4&gt;
              Normal vs Subnormal&lt;/h4&gt;
            &lt;p&gt;
              Subnormal numbers use the same &lt;code&gt;IntRounder&lt;/code&gt; as normal numbers, but they are
basically fixed-point numbers and are much easier to deal with. The same order
properties apply.&lt;/p&gt;
            &lt;code class="hl lean block" data-lean-context="demo"&gt;&lt;span class="has-info info"&gt;&lt;span class="hover-container"&gt;&lt;span class="hover-info messages"&gt;&lt;code class="message info"&gt;def subnormal_round : {C : FloatCfg} → IntRounder → ℚ → SubnormRep C :=
fun {C} r q =&amp;gt; { s := decide (q &amp;lt; 0), m := r (decide (q &amp;lt; 0)) (|q| * 2 ^ (-C.emin) * ↑C.prec) }&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.print-24705"&gt;#print&lt;/span&gt;&lt;/span&gt; &lt;span class="const token" data-binding="const-subnormal_round" data-verso-hover="39"&gt;subnormal_round&lt;/span&gt;
&lt;span class="unknown token" data-binding=""&gt;&lt;/span&gt;&lt;/code&gt;&lt;p&gt;
              Although they have their own special cases, the algebra was much simpler,
and the case was interesting enough to enjoy characterizing for its own sake.&lt;/p&gt;
            &lt;/section&gt;
          &lt;section&gt;
            &lt;h4&gt;
              Finite vs Otherwise&lt;/h4&gt;
            &lt;p&gt;
              When dealing with a full "Float", there are additional cases. Since Float can
be finite, inf, or NaN, it's necessary to specify &lt;code&gt;f.IsFinite&lt;/code&gt; quite often.
However, splitting &lt;code&gt;f.IsFinite&lt;/code&gt; is actually a really bad idea! Naively,
the tactic &lt;code&gt;split&lt;/code&gt; creates 4 cases, and blocks access to the original
float's other hypotheses if you focus on a particular case.&lt;/p&gt;
            &lt;p&gt;
              It was more helpful to recognize that &lt;code&gt;to_rat f&lt;/code&gt; was either equal to a normal
&lt;code&gt;FloatRep&lt;/code&gt; or to a &lt;code&gt;SubnormRep&lt;/code&gt; of appropriate sizes (so &lt;code&gt;SubnormRep&lt;/code&gt;s are the
small ones and &lt;code&gt;FloatRep&lt;/code&gt; are the large ones). At the boundary between
&lt;code&gt;SubnormRep&lt;/code&gt; and &lt;code&gt;FloatRep&lt;/code&gt;, where rounding modes get things real funky, the
overlap between representations plus rounding preserves order smoothed out both
cases. This makes combining representations a bit finicky but definitely worth it.&lt;/p&gt;
            &lt;code class="hl lean block" data-lean-context="demo"&gt;&lt;span class="has-info info"&gt;&lt;span class="hover-container"&gt;&lt;span class="hover-info messages"&gt;&lt;code class="message info"&gt;splitIsFinite {C : FloatCfg} [R : Rounding] {q : ℚ} (h : (to_float q).IsFinite) :
  |q| ≤ 2 ^ C.emin ∧ to_rat (to_float q) = subnormal_to_q (roundsub q) ∨
    2 ^ C.emin ≤ |q| ∧ to_rat (to_float q) = coe_q (round_rep q)&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.check-25750"&gt;#check&lt;/span&gt;&lt;/span&gt; &lt;span class="const token" data-binding="const-splitIsFinite" data-verso-hover="40"&gt;splitIsFinite&lt;/span&gt;  -- This is how you _should_ split isFinite
&lt;span class="unknown token" data-binding=""&gt;&lt;/span&gt;&lt;/code&gt;&lt;p&gt;
              Coming up with the right formulation for &lt;code&gt;IsFinite&lt;/code&gt; took me several tries.
The first 5 or so were disgustingly unergonomic. This is perhaps
the one I'm most proud of.&lt;/p&gt;
            &lt;/section&gt;
          &lt;/section&gt;
        &lt;section&gt;
          &lt;h3&gt;
            Some other useful theorems&lt;/h3&gt;
          &lt;p&gt;
            Plowing through special cases did gift me with some neat theorems.&lt;/p&gt;
          &lt;ul&gt;
            &lt;li&gt;
              &lt;p&gt;
                Exponent-comparison determines sizes.&lt;/p&gt;
              &lt;/li&gt;
            &lt;/ul&gt;
          &lt;code class="hl lean block" data-lean-context="demo"&gt;&lt;span class="has-info info"&gt;&lt;span class="hover-container"&gt;&lt;span class="hover-info messages"&gt;&lt;code class="message info"&gt;floatrep_e_le_of_coe_q {C : FloatCfg} (f1 f2 : FloatRep C) (vm2 : f2.valid_m) (h : |coe_q f1| ≤ |coe_q f2|) :
  f1.e ≤ f2.e&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.check-26141"&gt;#check&lt;/span&gt;&lt;/span&gt; &lt;span class="const token" data-binding="const-floatrep_e_le_of_coe_q" data-verso-hover="41"&gt;floatrep_e_le_of_coe_q&lt;/span&gt;
&lt;span class="has-info info"&gt;&lt;span class="hover-container"&gt;&lt;span class="hover-info messages"&gt;&lt;code class="message info"&gt;def floatrep_le_pos : {C : FloatCfg} → FloatRep C → FloatRep C → Prop :=
fun {C} f1 f2 =&amp;gt; f1.e &amp;lt; f2.e ∨ f1.e = f2.e ∧ f1.m ≤ f2.m&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.print-26171"&gt;#print&lt;/span&gt;&lt;/span&gt; &lt;span class="const token" data-binding="const-floatrep_le_pos" data-verso-hover="31"&gt;floatrep_le_pos&lt;/span&gt;
&lt;span class="has-info info"&gt;&lt;span class="hover-container"&gt;&lt;span class="hover-info messages"&gt;&lt;code class="message info"&gt;def floatrep_le_pos' : {C : FloatCfg} → FloatRep C → FloatRep C → Prop :=
fun {C} f1 f2 =&amp;gt; f1.e ≤ f2.e ∧ (f1.e = f2.e → f1.m ≤ f2.m)&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.print-26194"&gt;#print&lt;/span&gt;&lt;/span&gt; &lt;span class="const token" data-binding="const-floatrep_le_pos'" data-verso-hover="32"&gt;floatrep_le_pos'&lt;/span&gt;
&lt;span class="unknown token" data-binding=""&gt;&lt;/span&gt;&lt;/code&gt;&lt;ul&gt;
            &lt;li&gt;
              &lt;p&gt;
                Small enough rationals round to finite values.&lt;/p&gt;
              &lt;/li&gt;
            &lt;/ul&gt;
          &lt;code class="hl lean block" data-lean-context="demo"&gt;&lt;span class="has-info info"&gt;&lt;span class="hover-container"&gt;&lt;span class="hover-info messages"&gt;&lt;code class="message info"&gt;float_range {C : FloatCfg} (f : Flean.Float C) : |to_rat f| ≤ max_float_q C&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.check-26286"&gt;#check&lt;/span&gt;&lt;/span&gt; &lt;span class="const token" data-binding="const-float_range" data-verso-hover="42"&gt;float_range&lt;/span&gt;
&lt;span class="unknown token" data-binding=""&gt;&lt;/span&gt;&lt;/code&gt;&lt;ul&gt;
            &lt;li&gt;
              &lt;p&gt;
                Error for rational numbers is quite small for all rounding modes.&lt;/p&gt;
              &lt;/li&gt;
            &lt;/ul&gt;
          &lt;code class="hl lean block" data-lean-context="demo"&gt;&lt;span class="has-info info"&gt;&lt;span class="hover-container"&gt;&lt;span class="hover-info messages"&gt;&lt;code class="message info"&gt;float_error {C : FloatCfg} [R : Rounding] (q : ℚ) (h : (to_float q).IsFinite) :
  |to_rat (to_float q) - q| ≤ 2 ^ C.emin / ↑C.prec ⊔ 2 ^ Int.log 2 |q| / ↑C.prec&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.check-26392"&gt;#check&lt;/span&gt;&lt;/span&gt; &lt;span class="const token" data-binding="const-float_error" data-verso-hover="27"&gt;float_error&lt;/span&gt;
&lt;span class="unknown token" data-binding=""&gt;&lt;/span&gt;&lt;/code&gt;&lt;ul&gt;
            &lt;li&gt;
              &lt;p&gt;
                Rounding up is larger than your original value (and analogously for down).&lt;/p&gt;
              &lt;/li&gt;
            &lt;/ul&gt;
          &lt;code class="hl lean block" data-lean-context="demo"&gt;&lt;span class="has-info info"&gt;&lt;span class="hover-container"&gt;&lt;span class="hover-info messages"&gt;&lt;code class="message info"&gt;float_down_le {C : FloatCfg} (q : ℚ) (h : (to_float_down q).IsFinite) : to_rat (to_float_down q) ≤ q&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.check-26507"&gt;#check&lt;/span&gt;&lt;/span&gt; &lt;span class="const token" data-binding="const-float_down_le" data-verso-hover="43"&gt;float_down_le&lt;/span&gt;
&lt;span class="has-info info"&gt;&lt;span class="hover-container"&gt;&lt;span class="hover-info messages"&gt;&lt;code class="message info"&gt;le_float_up {C : FloatCfg} (q : ℚ) (h : (to_float_up q).IsFinite) : q ≤ to_rat (to_float_up q)&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.check-26528"&gt;#check&lt;/span&gt;&lt;/span&gt; &lt;span class="const token" data-binding="const-le_float_up" data-verso-hover="44"&gt;le_float_up&lt;/span&gt;
&lt;span class="unknown token" data-binding=""&gt;&lt;/span&gt;&lt;/code&gt;&lt;ul&gt;
            &lt;li&gt;
              &lt;p&gt;
                Rounding creates a bounded mantissa for all rounding modes.&lt;/p&gt;
              &lt;/li&gt;
            &lt;li&gt;
              &lt;p&gt;
                Round-to-nearest has half the error as normal rounding modes.&lt;/p&gt;
              &lt;/li&gt;
            &lt;/ul&gt;
          &lt;code class="hl lean block" data-lean-context="demo"&gt;&lt;span class="has-info info"&gt;&lt;span class="hover-container"&gt;&lt;span class="hover-info messages"&gt;&lt;code class="message info"&gt;float_nearest_error {C : FloatCfg} (q : ℚ) (h : (to_float_nearest q).IsFinite) :
  |q - to_rat (to_float_nearest q)| ≤ 2 ^ (Int.log 2 |q| - 1) / ↑C.prec ⊔ 2 ^ (C.emin - 1) / ↑C.prec&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.check-26692"&gt;#check&lt;/span&gt;&lt;/span&gt; &lt;span class="const token" data-binding="const-float_nearest_error" data-verso-hover="45"&gt;float_nearest_error&lt;/span&gt;
&lt;span class="unknown token" data-binding=""&gt;&lt;/span&gt;&lt;/code&gt;&lt;p&gt;
            At this point, I started getting real tired and decided to call it quits.
There's always more to prove, and I'd like to do other things too.&lt;/p&gt;
          &lt;/section&gt;
        &lt;section&gt;
          &lt;h3&gt;
            Was verification helpful?&lt;/h3&gt;
          &lt;p&gt;
            One little anecdote: When I was proving these theorems about floating point
numbers, I actually realized that I had implemented it incorrectly at first.
When implementing carry-over for subnormal to normal numbers, I had an
off-by-one error. This eventually shook out in the proof. This should not be
taken as evidence that formalizing functions efficiently roots out errors,
since I really only got rid of one error this way.&lt;/p&gt;
          &lt;p&gt;
            I have run a few test cases with numbers in different sizes, like 2e-1026
2e-30, and a few other variations, but I have not really systematically
tested it, so who knows? Maybe my operations are still broken in some way.
But at least I know the theorems are true!&lt;/p&gt;
          &lt;/section&gt;
        &lt;section&gt;
          &lt;h3&gt;
            Is it ready for Mathlib?&lt;/h3&gt;
          &lt;p&gt;
            I'm not sure. I have not included a linter or written documentation. There are some
concerns I have still with how I implemented it.&lt;/p&gt;
          &lt;ul&gt;
            &lt;li&gt;
              &lt;p&gt;
                Should configuration be a type class?&lt;/p&gt;
              &lt;/li&gt;
            &lt;li&gt;
              &lt;p&gt;
                Should precision be a power of two?&lt;/p&gt;
              &lt;/li&gt;
            &lt;li&gt;
              &lt;p&gt;
                Is it better to represent both &lt;code&gt;FloatRep&lt;/code&gt;s and &lt;code&gt;SubnormalRep&lt;/code&gt; like &lt;code class="math inline"&gt;m 2^n&lt;/code&gt;
instead?&lt;/p&gt;
              &lt;p&gt;
                This might better unify the representations, better reflect the
  literature (like
  &lt;a href="https://inria.hal.science/inria-00070603/file/BolMel.pdf"&gt;here&lt;/a&gt;), and better
  work with recursive reals or something.&lt;/p&gt;
              &lt;/li&gt;
            &lt;li&gt;
              &lt;p&gt;
                Is there a simpler way to do things?&lt;/p&gt;
              &lt;p&gt;
                This question haunts me.&lt;/p&gt;
              &lt;/li&gt;
            &lt;/ul&gt;
          &lt;/section&gt;
        &lt;section&gt;
          &lt;h3&gt;
            What is the purpose of it again?&lt;/h3&gt;
          &lt;p&gt;
            Personally, I found it quite useful as an exercise. And I think that if I was
going to do future work involving floating point numbers, I would try to
abstract a lot of my current theorems as an interface that you can just assert
axiomatically over opaque types.&lt;/p&gt;
          &lt;p&gt;
            If I had to actually prove that a specific floating point number computation is
correct, I would rather use an interval arithmetic library.  When I started
going for this, I immediately started thinking of applications.  The error
approximation theorems could be used to prove correctness of longer
computations. But computationally, I really wouldn't want to do things this way,
because you have to have all these different ranges involved throughout the
query. Maybe there are ways to propagate range information backwards through a
computation, so a finite output is enough to guarantee good results.&lt;/p&gt;
          &lt;p&gt;
            Essentially, I would want to answer the question: for what domains should you
expect good errors? Simple procedures like the dot-product of vectors can have large relative errors. You
should expect catastrophic cancellation when you have large positive and large
negative numbers of roughly equal size. Applications seem to always need to mix relative
and absolute error in really annoying ways, while invoking bounds on the sizes.
Or you can just use specific intervals and work with those. Overall,
there looks to be more fun low-hanging fruit elsewhere.&lt;/p&gt;
          &lt;/section&gt;
        &lt;section&gt;
          &lt;h3&gt;
            &lt;span id="hatred"&gt;What I don't like about the design&lt;/span&gt;&lt;/h3&gt;
          &lt;p&gt;
            Despite being quite happy with my work and with the process, some
parts frustrated me to no end. I won't go into too many details here.&lt;/p&gt;
          &lt;ul&gt;
            &lt;li&gt;
              &lt;p&gt;
                How many special cases there are
	It felt like I really couldn't do anything without having at least two cases,
	and sometimes four, and sometimes like six. Not fun.&lt;/p&gt;
              &lt;/li&gt;
            &lt;/ul&gt;
          &lt;p&gt;
            	It was probably good for me, though, because it required me to figure out how
	to refactor things so they're not as horrible. Although, I could probably
	improve that.&lt;/p&gt;
          &lt;ul&gt;
            &lt;li&gt;
              &lt;p&gt;
                Weird junk values (AKA why does &lt;code&gt;1/0 = 0&lt;/code&gt;?)
	I think I've gotten used to them.&lt;/p&gt;
              &lt;/li&gt;
            &lt;li&gt;
              &lt;p&gt;
                So many caveats...&lt;/p&gt;
              &lt;/li&gt;
            &lt;li&gt;
              &lt;p&gt;
                Basic algebra bashing is still very annoying in lean. It doesn't seem to be very reusable at all either.&lt;/p&gt;
              &lt;/li&gt;
            &lt;/ul&gt;
          &lt;p&gt;
            I don't really want to develop this theory anymore. It's sort of exhausting, and
I feel like if I broaden my horizons, I can learn a lot more. Maybe I'll go to
recursive reals instead, which have their own weird behavior.&lt;/p&gt;
          &lt;/section&gt;
        &lt;/section&gt;
      &lt;section&gt;
        &lt;h2&gt;
          &lt;span id="leanlanguage"&gt;Learning Lean as a Language&lt;/span&gt;&lt;/h2&gt;
        &lt;p&gt;
          Some of my real goals were mildly independent of floating point numbers
intrinsically. I wanted to specifically learn the kind of basic theory I
figured would be involved in applied mathematics. Going into this, I had read
through the &lt;a href="https://leanprover-community.github.io/mathematics_in_lean/"&gt;Mathematics in
Lean&lt;/a&gt;
documentation, which I found to be very interesting and a lot more intriguing
than the &lt;a href="https://softwarefoundations.cis.upenn.edu/"&gt;beginner Coq
documentation&lt;/a&gt;. There was a lot of
basic things I still had to learn--sometimes painfully. Perhaps the most
important Lean trick I learned would be the tactic &lt;code&gt;exact?&lt;/code&gt; which tells you the answer
sometimes. It's obviously incredibly useful, but perhaps dangerous for
beginners to over-rely on.&lt;/p&gt;
        &lt;p&gt;
          Most of my reflections on Lean fundamentals fell into either
search methods, intermediate-level tactics, or general programming fundamentals.&lt;/p&gt;
        &lt;section&gt;
          &lt;h3&gt;
            Searching for a theorem&lt;/h3&gt;
          &lt;p&gt;
            When I actually wanted to start coding a function to take me from rationals
&lt;code class="math inline"&gt;\mathbb{Q}&lt;/code&gt; to floating point numbers, I wanted a function that computed
&lt;code class="math inline"&gt;\lfloor \log_2{|q|} \rfloor&lt;/code&gt;. There are several ways to accomplish this. At
the time, I thought that I would use &lt;code&gt;Int.floor&lt;/code&gt;, which I knew existed, and
&lt;code&gt;Real.log&lt;/code&gt;, which I was sure existed. Pretty quickly, I realized
I didn't actually like that solution. &lt;code class="math inline"&gt;\mathbb{R}&lt;/code&gt; is noncomputable, which was
very unappealing for things like "unit tests".&lt;/p&gt;
          &lt;p&gt;
            I started writing my own function to do a logarithm because I couldn't figure
out what kind of logarithm I wanted to write. I knew about &lt;code&gt;Nat.log&lt;/code&gt; too, but I
didn't want that exactly either. My own implementation had a few false
starts (which I could have avoided with pen and paper), but eventually I figured
out the &lt;strong&gt;right&lt;/strong&gt; search terms instead. I was trawling through the files related to
&lt;code&gt;zpow&lt;/code&gt; and realized that there was an &lt;code&gt;Int.log&lt;/code&gt; with a definition essentially
identical to mine. After experiencing this, I realized that my usual go-to of
googling is a terrible way to learn a theory in Lean. Instead,&lt;/p&gt;
          &lt;ul&gt;
            &lt;li&gt;
              &lt;p&gt;
                Try searching in mathlib documentation. You may need to scroll a lot.&lt;/p&gt;
              &lt;/li&gt;
            &lt;li&gt;
              &lt;p&gt;
                Try searching for a theorem name with &lt;code&gt;exact?&lt;/code&gt;.&lt;/p&gt;
              &lt;/li&gt;
            &lt;li&gt;
              &lt;p&gt;
                Try searching with &lt;a href="https://leansearch.net"&gt;leansearch.net&lt;/a&gt; or with &lt;code&gt;#leansearch&lt;/code&gt;.
Despite being AI, the hype for LeanSearch is real. There's also Moogle, but I
never use it.&lt;/p&gt;
              &lt;/li&gt;
            &lt;li&gt;
              &lt;p&gt;
                Search for theorems you might think are related to your
function.&lt;/p&gt;
              &lt;/li&gt;
            &lt;li&gt;
              &lt;p&gt;
                Try searching zulip manually. Zulip is not typically indexed by Google.&lt;/p&gt;
              &lt;/li&gt;
            &lt;/ul&gt;
          &lt;p&gt;
            Once I found the right theory for integer logarithms and powers, the remaining
theorems were easy enough. I learned much just by reading definitions
and associated proofs in those files. I was really cooking now.&lt;/p&gt;
          &lt;p&gt;
            Ultimately, it seems impossible to keep the names of all of the theorems
necessary for even ordinary algebra in my own memory.  Unless the lemmas and
theorems magically become more expressive, tactics become more powerful, or
something like that, it seems like something like LeanSearch is the future combined
with &lt;code&gt;exact?&lt;/code&gt; of course. I wouldn't discount future magical changes in Lean though.&lt;/p&gt;
          &lt;/section&gt;
        &lt;section&gt;
          &lt;h3&gt;
            Real-world tactics&lt;/h3&gt;
          &lt;p&gt;
            There's also a variety of tactics that you'll see used in &lt;code&gt;mathlib&lt;/code&gt; that I did
not use when learning from beginner guides. For example, Mathematics in
Lean doesn't tell you about &lt;code&gt;refine&lt;/code&gt;, and &lt;code&gt;refine&lt;/code&gt; shows up all the time
in actual code since it shortens proofs significantly. There are some other features
the beginner documentation tells you about, like substituting with &lt;code&gt;rfl&lt;/code&gt; in calls to
&lt;code&gt;rcases&lt;/code&gt; or other tactics. Unfortunately, this never worked out for me because &lt;code&gt;rfl&lt;/code&gt;
doesn't rewrite beyond single variables. Similarly, tactics like
&lt;code&gt;apply_fun&lt;/code&gt;, which is a tactic that should apply a function to both sides of an
equation, was extremely flaky and I couldn't get it to work in a single real
proof.&lt;/p&gt;
          &lt;p&gt;
            Later, I systematically went through all the tactics available in
&lt;code&gt;Mathlib.Tactics&lt;/code&gt; and figured out what they actually did. Out of this,
I discovered many tactics which were indispensable.&lt;/p&gt;
          &lt;/section&gt;
        &lt;section&gt;
          &lt;h3&gt;
            Positivity&lt;/h3&gt;
          &lt;p&gt;
            For instance, &lt;code&gt;positivity&lt;/code&gt; is indispensable. &lt;code&gt;positivity&lt;/code&gt; is a tactic that
proves whether a quantity is positive. That actually covers non-negative,
non-zero, or just positive. I thought, this is the bee's knees when I found
it, and I was right.&lt;/p&gt;
          &lt;p&gt;
            When using &lt;code&gt;mathlib&lt;/code&gt; generally or for floating point number formalization specifically,
basic algebra requires proving certain quantities are positive, non-negative, or
nonzero extremely often. If you write your own functions or more complicated expressions, you
can also extend the tactic in a way that &lt;code&gt;positivity&lt;/code&gt; will apply to it. This is
very important because it can save you time in way more cases, even when you
aren't calling &lt;code&gt;positivity&lt;/code&gt; yourself.&lt;/p&gt;
          &lt;code class="hl lean block" data-lean-context="demo"&gt;&lt;span class="has-info info"&gt;&lt;span class="hover-container"&gt;&lt;span class="hover-info messages"&gt;&lt;code class="message info"&gt;def evalRoundNearInt : Mathlib.Meta.Positivity.PositivityExt :=
failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.print-35421"&gt;#print&lt;/span&gt;&lt;/span&gt; &lt;span class="const token" data-binding="const-evalRoundNearInt" data-verso-hover="46"&gt;evalRoundNearInt&lt;/span&gt;  -- my own extension of positivity
&lt;span class="unknown token" data-binding=""&gt;&lt;/span&gt;&lt;/code&gt;&lt;pre&gt;open Lean Meta Qq Mathlib.Meta.Positivity in
@[positivity round_near_int _]
def evalRoundNearInt : PositivityExt where eval {u α} _ _ e := do
  match u, α, e with
  | 0, ~q(ℤ), ~q(round_near_int $a) =&amp;gt;
    let zα : Q(Zero ℚ) := q(inferInstance)
    let pα : Q(PartialOrder ℚ) := q(inferInstance)
    assumeInstancesCommute
    match ← core zα pα a with
    | .positive pa =&amp;gt; pure (.nonnegative q(round_near_int_of_pos $pa))
    | .nonnegative pa =&amp;gt; pure (.nonnegative q(round_near_int_of_nonneg $pa))
    | _ =&amp;gt; pure .none
&lt;/pre&gt;&lt;p&gt;
            That said, you seem to only be able to extend &lt;code&gt;positivity&lt;/code&gt; calls for function
calls and not general pattern matching like &lt;code&gt;simp&lt;/code&gt;. Often times, I identified
key expressions that needed to be positive, such as part of the mantissa &lt;code&gt;|q| / 2^Int.log |q| - 1&lt;/code&gt;,
but I ended up using a lemma instead, which was less
convenient. I am not sure how users are even supposed to find strange positivity
lemmas like this anyways merely by search. Here is a little theorem
I used a lot for the size of the mantissa, which couldn't be eliminated with automation:&lt;/p&gt;
          &lt;code class="hl lean block" data-lean-context="demo"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Command.example-36592"&gt;example&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;ℚ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.5411" data-verso-hover="48"&gt;h&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt; &lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;≠&lt;/span&gt; &lt;span class="typed token" data-binding="" data-verso-hover="47"&gt;0&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt; &lt;span class="typed token" data-binding="" data-verso-hover="47"&gt;1&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;≤&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;|&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;|&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;*&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="47"&gt;2&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;^&lt;/span&gt; &lt;span class="const token" data-binding="const-Int.log" data-verso-hover="49"&gt;Int.log&lt;/span&gt; &lt;span class="typed token" data-binding="" data-verso-hover="3"&gt;2&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;|&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;|&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;⁻¹&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;∧&lt;/span&gt;
  &lt;span class="unknown token" data-binding=""&gt;|&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;|&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;*&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="47"&gt;2&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;^&lt;/span&gt; &lt;span class="const token" data-binding="const-Int.log" data-verso-hover="49"&gt;Int.log&lt;/span&gt; &lt;span class="typed token" data-binding="" data-verso-hover="3"&gt;2&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;|&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;|&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;⁻¹&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;&amp;lt;&lt;/span&gt; &lt;span class="typed token" data-binding="" data-verso-hover="47"&gt;2&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;:=&lt;/span&gt; &lt;span class="tactic"&gt;&lt;label for="tactic-state-10359602378753330763-36706-36708"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.byTactic-36706" data-verso-hover="5"&gt;by&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-10359602378753330763-36706-36708"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Rat" data-verso-hover="50"&gt;ℚ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.5411" data-verso-hover="48"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt;&lt;span class="const token" data-binding="const-Ne" data-verso-hover="51"&gt; ≠ &lt;/span&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;1&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="52"&gt; ≤ &lt;/span&gt;|&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt;|&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="53"&gt; * &lt;/span&gt;(2&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="54"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-Int.log" data-verso-hover="49"&gt;Int.log&lt;/span&gt; 2 |&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt;|)&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="55"&gt;⁻¹&lt;/span&gt;&lt;span class="const token" data-binding="const-And" data-verso-hover="56"&gt; ∧ &lt;/span&gt;|&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt;|&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="53"&gt; * &lt;/span&gt;(2&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="54"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-Int.log" data-verso-hover="49"&gt;Int.log&lt;/span&gt; 2 |&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt;|)&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="55"&gt;⁻¹&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="6"&gt; &amp;lt; &lt;/span&gt;2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;  -- A key theorem about mantissa sizes
  &lt;span class="tactic"&gt;&lt;label for="tactic-state-6378096444266222742-36750-36761"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.constructor-36750" data-verso-hover="57"&gt;constructor&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-6378096444266222742-36750-36761"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-4" checked="checked"&gt;&lt;span for="--verso-unique-4" class="goal-name"&gt;left&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Rat" data-verso-hover="50"&gt;ℚ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.5411" data-verso-hover="48"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt;&lt;span class="const token" data-binding="const-Ne" data-verso-hover="51"&gt; ≠ &lt;/span&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;1&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="52"&gt; ≤ &lt;/span&gt;|&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt;|&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="53"&gt; * &lt;/span&gt;(2&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="54"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-Int.log" data-verso-hover="49"&gt;Int.log&lt;/span&gt; 2 |&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt;|)&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="55"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-5"&gt;&lt;span for="--verso-unique-5" class="goal-name"&gt;right&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Rat" data-verso-hover="50"&gt;ℚ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.5411" data-verso-hover="48"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt;&lt;span class="const token" data-binding="const-Ne" data-verso-hover="51"&gt; ≠ &lt;/span&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;|&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt;|&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="53"&gt; * &lt;/span&gt;(2&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="54"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-Int.log" data-verso-hover="49"&gt;Int.log&lt;/span&gt; 2 |&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt;|)&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="55"&gt;⁻¹&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="6"&gt; &amp;lt; &lt;/span&gt;2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
  &lt;span class="tactic"&gt;&lt;label for="tactic-state-12762760396996168134-36764-36766"&gt;&lt;span class="unknown token" data-binding=""&gt;·&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-12762760396996168134-36764-36766"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="labeled-case" checked="checked"&gt;&lt;label class="case-label"&gt;&lt;input type="checkbox" id="--verso-unique-6" checked="checked"&gt;&lt;span for="--verso-unique-6" class="goal-name"&gt;left&lt;/span&gt;&lt;/label&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Rat" data-verso-hover="50"&gt;ℚ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.5411" data-verso-hover="48"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt;&lt;span class="const token" data-binding="const-Ne" data-verso-hover="51"&gt; ≠ &lt;/span&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;1&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="52"&gt; ≤ &lt;/span&gt;|&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt;|&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="53"&gt; * &lt;/span&gt;(2&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="54"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-Int.log" data-verso-hover="49"&gt;Int.log&lt;/span&gt; 2 |&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt;|)&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="55"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.tacticSuffices_-36767" data-verso-hover="58"&gt;suffices&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="47"&gt;2&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;^&lt;/span&gt; &lt;span class="const token" data-binding="const-Int.log" data-verso-hover="49"&gt;Int.log&lt;/span&gt; &lt;span class="typed token" data-binding="" data-verso-hover="3"&gt;2&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;|&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;|&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;≤&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;|&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;|&lt;/span&gt; &lt;span class="tactic"&gt;&lt;label for="tactic-state-11819042766782432447-36804-36806"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.byTactic'-36804"&gt;by&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-11819042766782432447-36804-36806"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Rat" data-verso-hover="50"&gt;ℚ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.5411" data-verso-hover="48"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt;&lt;span class="const token" data-binding="const-Ne" data-verso-hover="51"&gt; ≠ &lt;/span&gt;0&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.7543" data-verso-hover="59"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;2&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="54"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-Int.log" data-verso-hover="49"&gt;Int.log&lt;/span&gt; 2 |&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt;|&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="52"&gt; ≤ &lt;/span&gt;|&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt;|&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;1&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="52"&gt; ≤ &lt;/span&gt;|&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt;|&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="53"&gt; * &lt;/span&gt;(2&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="54"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-Int.log" data-verso-hover="49"&gt;Int.log&lt;/span&gt; 2 |&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt;|)&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="55"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
      &lt;span class="tactic"&gt;&lt;label for="tactic-state-16941525553734569219-36813-36843"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.rwSeq-36813" data-verso-hover="60"&gt;rw&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;&amp;lt;-&lt;/span&gt;&lt;span class="const token" data-binding="const-mul_one" data-verso-hover="61"&gt;mul_one&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="47"&gt;2&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;^&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;_&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt; &lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.location-36836" data-verso-hover="62"&gt;at&lt;/span&gt; &lt;span class="var token" data-binding="var-_uniq.7543" data-verso-hover="59"&gt;this&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-16941525553734569219-36813-36843"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Rat" data-verso-hover="50"&gt;ℚ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.5411" data-verso-hover="48"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt;&lt;span class="const token" data-binding="const-Ne" data-verso-hover="51"&gt; ≠ &lt;/span&gt;0&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.7732" data-verso-hover="63"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;2&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="54"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-Int.log" data-verso-hover="49"&gt;Int.log&lt;/span&gt; 2 |&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt;|&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="53"&gt; * &lt;/span&gt;1&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="52"&gt; ≤ &lt;/span&gt;|&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt;|&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;1&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="52"&gt; ≤ &lt;/span&gt;|&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt;|&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="53"&gt; * &lt;/span&gt;(2&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="54"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-Int.log" data-verso-hover="49"&gt;Int.log&lt;/span&gt; 2 |&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt;|)&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="55"&gt;⁻¹&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
      &lt;span class="tactic"&gt;&lt;label for="tactic-state-2918830983749379837-36850-36863"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.rwSeq-36850" data-verso-hover="60"&gt;rw&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="const token" data-binding="const-mul_comm" data-verso-hover="64"&gt;mul_comm&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-2918830983749379837-36850-36863"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Rat" data-verso-hover="50"&gt;ℚ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.5411" data-verso-hover="48"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt;&lt;span class="const token" data-binding="const-Ne" data-verso-hover="51"&gt; ≠ &lt;/span&gt;0&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.7732" data-verso-hover="63"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;2&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="54"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-Int.log" data-verso-hover="49"&gt;Int.log&lt;/span&gt; 2 |&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt;|&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="53"&gt; * &lt;/span&gt;1&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="52"&gt; ≤ &lt;/span&gt;|&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt;|&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;1&lt;span class="const token" data-binding="const-LE.le" data-verso-hover="52"&gt; ≤ &lt;/span&gt;(2&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="54"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-Int.log" data-verso-hover="49"&gt;Int.log&lt;/span&gt; 2 |&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt;|)&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="55"&gt;⁻¹&lt;/span&gt;&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="53"&gt; * &lt;/span&gt;|&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt;|&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
      &lt;span class="tactic"&gt;&lt;label for="tactic-state-7-36870-36951"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.exact-36870" data-verso-hover="65"&gt;exact&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-le_inv_mul_iff₀" data-verso-hover="66"&gt;le_inv_mul_iff₀&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-zpow_pos" data-verso-hover="67"&gt;zpow_pos&lt;/span&gt; &lt;span class="const token" data-binding="const-rfl" data-verso-hover="68"&gt;rfl&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;_&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="47"&gt;0&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;ℚ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;&amp;lt;&lt;/span&gt; &lt;span class="typed token" data-binding="" data-verso-hover="47"&gt;2&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;^&lt;/span&gt; &lt;span class="const token" data-binding="const-Int.log" data-verso-hover="49"&gt;Int.log&lt;/span&gt; &lt;span class="typed token" data-binding="" data-verso-hover="3"&gt;2&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;|&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;|&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;2&lt;/span&gt; &lt;span class="var token" data-binding="var-_uniq.7732" data-verso-hover="63"&gt;this&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-36870-36951"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;
    &lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.exact-36956" data-verso-hover="65"&gt;exact&lt;/span&gt; &lt;span class="const token" data-binding="const-Int.zpow_log_le_self" data-verso-hover="69"&gt;Int.zpow_log_le_self&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-11367194888584418941-36984-36986"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.byTactic-36984" data-verso-hover="5"&gt;by&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-11367194888584418941-36984-36986"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Rat" data-verso-hover="50"&gt;ℚ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.5411" data-verso-hover="48"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt;&lt;span class="const token" data-binding="const-Ne" data-verso-hover="51"&gt; ≠ &lt;/span&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;1&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="6"&gt; &amp;lt; &lt;/span&gt;2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;span class="tactic"&gt;&lt;label for="tactic-state-7-36987-36995"&gt;&lt;span class="keyword token" data-binding="kw-occ-Mathlib.Tactic.normNum-36987" data-verso-hover="7"&gt;norm_num&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-36987-36995"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-abs_pos" data-verso-hover="70"&gt;abs_pos&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="const token" data-binding="const-Iff.mpr" data-verso-hover="71"&gt;mpr&lt;/span&gt; &lt;span class="var token" data-binding="var-_uniq.5411" data-verso-hover="48"&gt;h&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;
  &lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.tacticSuffices_-37015" data-verso-hover="58"&gt;suffices&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;|&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;|&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;&amp;lt;&lt;/span&gt; &lt;span class="typed token" data-binding="" data-verso-hover="47"&gt;2&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;^&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-Int.log" data-verso-hover="49"&gt;Int.log&lt;/span&gt; &lt;span class="typed token" data-binding="" data-verso-hover="3"&gt;2&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;|&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;|&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;+&lt;/span&gt; &lt;span class="typed token" data-binding="" data-verso-hover="4"&gt;1&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt; &lt;span class="tactic"&gt;&lt;label for="tactic-state-17152488665453585951-37054-37056"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.byTactic'-37054"&gt;by&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-17152488665453585951-37054-37056"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Rat" data-verso-hover="50"&gt;ℚ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.5411" data-verso-hover="48"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt;&lt;span class="const token" data-binding="const-Ne" data-verso-hover="51"&gt; ≠ &lt;/span&gt;0&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.10719" data-verso-hover="72"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;|&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt;|&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="6"&gt; &amp;lt; &lt;/span&gt;2&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="54"&gt; ^ &lt;/span&gt;(&lt;span class="const token" data-binding="const-Int.log" data-verso-hover="49"&gt;Int.log&lt;/span&gt; 2 |&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt;|&lt;span class="const token" data-binding="const-HAdd.hAdd" data-verso-hover="73"&gt; + &lt;/span&gt;1)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;|&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt;|&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="53"&gt; * &lt;/span&gt;(2&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="54"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-Int.log" data-verso-hover="49"&gt;Int.log&lt;/span&gt; 2 |&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt;|)&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="55"&gt;⁻¹&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="6"&gt; &amp;lt; &lt;/span&gt;2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
    &lt;span class="tactic"&gt;&lt;label for="tactic-state-14575405676265983391-37061-37113"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.rwSeq-37061" data-verso-hover="60"&gt;rw&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;[&lt;/span&gt;&lt;span class="const token" data-binding="const-zpow_add_one₀" data-verso-hover="74"&gt;zpow_add_one₀&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.byTactic-37082" data-verso-hover="5"&gt;by&lt;/span&gt; &lt;span class="keyword token" data-binding="kw-occ-Mathlib.Tactic.normNum-37085" data-verso-hover="7"&gt;norm_num&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;,&lt;/span&gt; &lt;span class="const token" data-binding="const-mul_comm" data-verso-hover="64"&gt;mul_comm&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;]&lt;/span&gt; &lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.location-37106" data-verso-hover="62"&gt;at&lt;/span&gt; &lt;span class="var token" data-binding="var-_uniq.10719" data-verso-hover="72"&gt;this&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-14575405676265983391-37061-37113"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Rat" data-verso-hover="50"&gt;ℚ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.5411" data-verso-hover="48"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt;&lt;span class="const token" data-binding="const-Ne" data-verso-hover="51"&gt; ≠ &lt;/span&gt;0&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.10955" data-verso-hover="75"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;|&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt;|&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="6"&gt; &amp;lt; &lt;/span&gt;2&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="53"&gt; * &lt;/span&gt;2&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="54"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-Int.log" data-verso-hover="49"&gt;Int.log&lt;/span&gt; 2 |&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt;|&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;|&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt;|&lt;span class="const token" data-binding="const-HMul.hMul" data-verso-hover="53"&gt; * &lt;/span&gt;(2&lt;span class="const token" data-binding="const-HPow.hPow" data-verso-hover="54"&gt; ^ &lt;/span&gt;&lt;span class="const token" data-binding="const-Int.log" data-verso-hover="49"&gt;Int.log&lt;/span&gt; 2 |&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt;|)&lt;span class="const token" data-binding="const-Inv.inv" data-verso-hover="55"&gt;⁻¹&lt;/span&gt;&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="6"&gt; &amp;lt; &lt;/span&gt;2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
    &lt;span class="tactic"&gt;&lt;label for="tactic-state-7-37118-37199"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.exact-37118" data-verso-hover="65"&gt;exact&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-mul_inv_lt_iff₀" data-verso-hover="76"&gt;mul_inv_lt_iff₀&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="const token" data-binding="const-zpow_pos" data-verso-hover="67"&gt;zpow_pos&lt;/span&gt; &lt;span class="const token" data-binding="const-rfl" data-verso-hover="68"&gt;rfl&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;_&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="typed token" data-binding="" data-verso-hover="47"&gt;0&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;ℚ&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;&amp;lt;&lt;/span&gt; &lt;span class="typed token" data-binding="" data-verso-hover="47"&gt;2&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;^&lt;/span&gt; &lt;span class="const token" data-binding="const-Int.log" data-verso-hover="49"&gt;Int.log&lt;/span&gt; &lt;span class="typed token" data-binding="" data-verso-hover="3"&gt;2&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;|&lt;/span&gt;&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;|&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;.&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;2&lt;/span&gt; &lt;span class="var token" data-binding="var-_uniq.10955" data-verso-hover="75"&gt;this&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-37118-37199"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt;
  &lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Tactic.apply-37202" data-verso-hover="77"&gt;apply&lt;/span&gt; &lt;span class="const token" data-binding="const-Int.lt_zpow_succ_log_self" data-verso-hover="78"&gt;Int.lt_zpow_succ_log_self&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;(&lt;/span&gt;&lt;span class="tactic"&gt;&lt;label for="tactic-state-11367194888584418941-37235-37237"&gt;&lt;span class="keyword token" data-binding="kw-occ-Lean.Parser.Term.byTactic-37235" data-verso-hover="5"&gt;by&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-11367194888584418941-37235-37237"&gt;&lt;span class="tactic-state"&gt;&lt;span class="goal"&gt;&lt;span class="hypotheses"&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="const token" data-binding="const-Rat" data-verso-hover="50"&gt;ℚ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="hypothesis"&gt;&lt;span class="name"&gt;&lt;span class="var token" data-binding="var-_uniq.5411" data-verso-hover="48"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;span class="colon"&gt;:&lt;/span&gt;&lt;span class="type"&gt;&lt;span class="var token" data-binding="var-_uniq.5396" data-verso-hover="47"&gt;q&lt;/span&gt;&lt;span class="const token" data-binding="const-Ne" data-verso-hover="51"&gt; ≠ &lt;/span&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="conclusion"&gt;&lt;span class="prefix"&gt;⊢ &lt;/span&gt;&lt;span class="type"&gt;1&lt;span class="const token" data-binding="const-LT.lt" data-verso-hover="6"&gt; &amp;lt; &lt;/span&gt;2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;span class="tactic"&gt;&lt;label for="tactic-state-7-37238-37246"&gt;&lt;span class="keyword token" data-binding="kw-occ-Mathlib.Tactic.normNum-37238" data-verso-hover="7"&gt;norm_num&lt;/span&gt;&lt;/label&gt;&lt;input type="checkbox" class="tactic-toggle" id="tactic-state-7-37238-37246"&gt;&lt;span class="tactic-state"&gt;All goals completed! 🐙&lt;/span&gt;&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;:&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;1&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;&amp;lt;&lt;/span&gt; &lt;span class="unknown token" data-binding=""&gt;2&lt;/span&gt;&lt;span class="unknown token" data-binding=""&gt;)&lt;/span&gt;
&lt;span class="unknown token" data-binding=""&gt;&lt;/span&gt;&lt;/code&gt;&lt;p&gt;
            If I had to redo everything, I would actually factor more complicated
expressions into functions, which I can then prove positivity constraints about.
In a similar vein, &lt;code&gt;gcongr&lt;/code&gt; looks like another excellent tactic here, which
I did not fully grok.&lt;/p&gt;
          &lt;/section&gt;
        &lt;section&gt;
          &lt;h3&gt;
            Simplifier and Normalization Tactics&lt;/h3&gt;
          &lt;p&gt;
            Mathematics in Lean taught me tactics such as &lt;code&gt;group&lt;/code&gt;, &lt;code&gt;ring&lt;/code&gt;, &lt;code&gt;field_simp&lt;/code&gt;,
but I found them to not be very effective. They were intended to finish proofs
and not really simplify proofs. Even &lt;code&gt;field_simp&lt;/code&gt; often went in
unexpected directions, especially when powers got involved.&lt;/p&gt;
          &lt;p&gt;
            Most of my time algebra bashing was spent figuring out how to either get to a
place where a group or ring could do its job, or to figure out how to do the
last manipulation so that &lt;code&gt;field_simp&lt;/code&gt; would actually do something useful.&lt;/p&gt;
          &lt;p&gt;
            Some tactics I discovered later were a lot more helpful than I thought at first.
The &lt;code&gt;simp?&lt;/code&gt; tactic is a great way to make partial progress in a predictable way.
The other tactic I found to be helpful in a very late stage was &lt;code&gt;omega&lt;/code&gt;, which
lets you prove general facts about integers. Since most of what I was doing
involved rational numbers, it wasn't as effective, which is a little bit
surprising because I would expect that rational numbers and integers are
extremely similar.&lt;/p&gt;
          &lt;p&gt;
            On the normalization side, &lt;code&gt;norm_cast&lt;/code&gt;, &lt;code&gt;qify&lt;/code&gt;, and &lt;code&gt;zify&lt;/code&gt; helped heaps
since there is a lot of casting between natural numbers, integers, and
rationals. I learned about these when I tried to prove that &lt;code class="math inline"&gt;\sqrt{2}&lt;/code&gt; is
irrational as in  &lt;code class="math inline"&gt;\neg \exists q \in \mathbb{Q}, q^2 = 2&lt;/code&gt;. The traditional
proof involves an integer division argument, so applying it to the rationals
is quite an exercise. It is not straightforward how to do anything with
coercion or Lean, but it makes sense once you learn all the tactics for casting.&lt;/p&gt;
          &lt;/section&gt;
        &lt;section&gt;
          &lt;h3&gt;
            Tactics I didn't figure out how to use&lt;/h3&gt;
          &lt;p&gt;
            One lingering reflection has been how my understanding of some tactics
remains tantalizingly limited.&lt;/p&gt;
          &lt;ol start="1"&gt;
            &lt;li&gt;
              &lt;p&gt;
                &lt;code&gt;aesop&lt;/code&gt;: As a general solver, it can probably do a lot more, but the
configuration seemed challenging, and I didn't know how to get started. It doesn't
seem useful by default.&lt;/p&gt;
              &lt;/li&gt;
            &lt;li&gt;
              &lt;p&gt;
                Custom &lt;code&gt;simp&lt;/code&gt; lemmas: It's unclear what should
be a simp lemma and when you should just pass your lemma to simp with &lt;code&gt;simp
[your_lemma]&lt;/code&gt;, so that's usually what I did instead.&lt;/p&gt;
              &lt;/li&gt;
            &lt;li&gt;
              &lt;p&gt;
                &lt;a href="https://leanprover-community.github.io/mathlib4_docs/Mathlib/Tactic/Bound.html"&gt;&lt;code&gt;bound&lt;/code&gt;&lt;/a&gt;:
which seems like it should do almost exactly what I want a lot, but I never
actually found a specific scenario in which it worked. This may be user error.&lt;/p&gt;
              &lt;/li&gt;
            &lt;/ol&gt;
          &lt;/section&gt;
        &lt;section&gt;
          &lt;h3&gt;
            "Without Loss of Generality" tactic&lt;/h3&gt;
          &lt;p&gt;
            I have avoided discussing the &lt;code&gt;wlog&lt;/code&gt; tactic, since I have mixed feelings about
recommending it as a go-to option. In some theorems, it lets you clear out
specific cases very quickly, but it often hides the higher order logic that
binds all your theorems in similar structures. &lt;code&gt;wlog&lt;/code&gt; lets you assert a
statement and prove that if the theorem is true while asserting the statement,
then it is true when negating the statement. However, this often obscures some
symmetry arguments that are useful to extract out as their own lemmas or
pseudo-induction theorems.&lt;/p&gt;
          &lt;p&gt;
            Earlier I listed out several examples of special cases. Many times I tried using
&lt;code&gt;wlog&lt;/code&gt; and had to refactor later. For dealing with a positive and negative
case, I started out by using &lt;code&gt;wlog&lt;/code&gt;, but it's cleaner to define &lt;code&gt;neg&lt;/code&gt; functions
on the representations and a set of theorems there. Similarly, I created a
theorem to apply symmetry arguments on the rationals to prove theorems of the
type &lt;code&gt;P q1 q2&lt;/code&gt;.&lt;/p&gt;
          &lt;p&gt;
            Special cases in general seems to have no silver bullet.&lt;/p&gt;
          &lt;/section&gt;
        &lt;section&gt;
          &lt;h3&gt;
            Splitting tactics I'm unsure about&lt;/h3&gt;
          &lt;p&gt;
            &lt;code&gt;split_ifs&lt;/code&gt;, &lt;code&gt;split&lt;/code&gt;, &lt;code&gt;match&lt;/code&gt;, and &lt;code&gt;if&lt;/code&gt; can all be used to split theorems into
special cases either defined by users or defined by the goal of a proof instead.
I have no idea which one is the "best" to use at any given time. They all seem
to have their own gotchas in terms of manual work and labeling hypotheses.&lt;/p&gt;
          &lt;p&gt;
            Sometimes I also discovered that default way to split a function
&lt;em&gt;definition&lt;/em&gt; is counterproductive to how you want to split the &lt;em&gt;theorem&lt;/em&gt; into pieces.
As discussed earlier, &lt;code&gt;splitIsFinite&lt;/code&gt; defined a better way to split floats
into pieces than I could get with any standard tactic.&lt;/p&gt;
          &lt;/section&gt;
        &lt;section&gt;
          &lt;h3&gt;
            General proof structure&lt;/h3&gt;
          &lt;p&gt;
            As a more positive note, I learned much about how to structure routine proofs
without symmetry / higher-order methods. There's a lot more use of &lt;code&gt;apply&lt;/code&gt;,
&lt;code&gt;have&lt;/code&gt;, and &lt;code&gt;suffices&lt;/code&gt; than I thought. I would say 90% of the effort is figuring
out which of the three tactics and their corresponding term. Sometimes, the statement
trivially matches what I would write in &lt;code class="math inline"&gt;\LaTeX&lt;/code&gt;, but other times, a proof
requires a bit of finagling with &lt;code&gt;suffices&lt;/code&gt;. I'm not disappointed at all with
the experience; it was mainly a matter of practice to become proficient.&lt;/p&gt;
          &lt;/section&gt;
        &lt;section&gt;
          &lt;h3&gt;
            Named Arguments&lt;/h3&gt;
          &lt;p&gt;
            Beyond the more Lean-specific programming patterns, I also learned the value of
the Lean 4 language features. As a new feature in Lean 4, named arguments are
criminally underutilized.  The standard library hasn't caught up on informative
names, and in fact, the documentation is pretty light on its usage too. I found
named arguments to be one of the most helpful features, and I will deeply miss it in any
functional programming language from now on.&lt;/p&gt;
          &lt;p&gt;
            When you define a lemma in Lean, you typically make any variables that can be
inferred from later theorems as implicit with &lt;code&gt;{q : Rat}&lt;/code&gt;. However, this does
not help you when you are applying &lt;em&gt;backwards reasoning&lt;/em&gt;. The standard approach
in the documentation is to specify what you are missing with &lt;code&gt;@lemma_name _ _ _ q&lt;/code&gt;
or however many &lt;code&gt;_&lt;/code&gt; you need for the other inferred variables. With named
arguments, you can do &lt;code&gt;lemma_name (q := q)&lt;/code&gt;.&lt;/p&gt;
          &lt;p&gt;
            The only downside is that too many theorems do not have meaningful names for
hypotheses. If there is only one hypothesis, then it's &lt;code&gt;h&lt;/code&gt;, otherwise ¯\_(ツ)_/¯.
Informative arguments do not seem to really be a priority yet.&lt;/p&gt;
          &lt;/section&gt;
        &lt;section&gt;
          &lt;h3&gt;
            Things I didn't learn but expected to (AKA Future Directions)&lt;/h3&gt;
          &lt;p&gt;
            As a few counter-examples to the neat programming techniques I've learned,
I didn't learn some fundamentals I was hoping to:&lt;/p&gt;
          &lt;ul&gt;
            &lt;li&gt;
              &lt;p&gt;
                What's the best way to write readable Lean code?
	- Should I be using &lt;code&gt;show&lt;/code&gt; more?
	- I definitely should be using more comments.&lt;/p&gt;
              &lt;/li&gt;
            &lt;li&gt;
              &lt;p&gt;
                How do you make your library easy to use, easy to understand, and extensible?&lt;/p&gt;
              &lt;/li&gt;
            &lt;li&gt;
              &lt;p&gt;
                Should I be using type class inference or implicit variables?
	I went back and forth on this very often, and currently think I should have
	gone with type classes for floating point parameters like precision or maximum
	exponent.&lt;/p&gt;
              &lt;/li&gt;
            &lt;/ul&gt;
          &lt;p&gt;
            	If I'd known about named arguments for type classes, it would have changed my
	decision as well. I recall having problems with specifying the parameters in
	an inductive theorem, but that was probably a skill issue.&lt;/p&gt;
          &lt;p&gt;
            Overall, I believe I will slowly gain experience on this if I contribute
to mathlib more directly, or through later experimental projects. Hence,
I do not want to stick around on endlessly refactoring &lt;code&gt;Flean&lt;/code&gt; for
readability before I know what that means.&lt;/p&gt;
          &lt;/section&gt;
        &lt;section&gt;
          &lt;h3&gt;
            Things I knew but didn't want to believe&lt;/h3&gt;
          &lt;p&gt;
            Since I am somewhat stubborn and hopeful, I seemed to refuse to take some
advice I saw before I even started: You should write your theorems out on paper first,
and you will be forced into more generality eventually. Everything is more complicated
than you expect. Approaching a theorem from scratch, it felt very difficult to get a
lot of traction on it because everything felt obvious. As I went on, I discovered
the most important factors of a proof, and I'd have to refactor my system to work
in more general settings just so I can get new rounding modes. I'd have to think
about what are the elements that are most important, the things that would let me
use &lt;code&gt;mathlib&lt;/code&gt; to the greatest effect. I wanted to believe that &lt;code&gt;mathlib&lt;/code&gt;'s size
would make any choice of proof equally simple, which was wrong.&lt;/p&gt;
          &lt;/section&gt;
        &lt;section&gt;
          &lt;h3&gt;
            Things I should have learned but didn't&lt;/h3&gt;
          &lt;p&gt;
            As a counterexample to my ability to learn, some fundamentals still haven't
"clicked":&lt;/p&gt;
          &lt;ul&gt;
            &lt;li&gt;
              &lt;p&gt;
                I still don't feel very solid about mathlib's naming scheme&lt;/p&gt;
              &lt;/li&gt;
            &lt;li&gt;
              &lt;p&gt;
                I have no idea how to generate documentation, and I didn't write any.&lt;/p&gt;
              &lt;/li&gt;
            &lt;li&gt;
              &lt;p&gt;
                I don't know the correct way to namespace things. I suspect I need a lot more namespaces.&lt;/p&gt;
              &lt;/li&gt;
            &lt;/ul&gt;
          &lt;/section&gt;
        &lt;/section&gt;
      &lt;section&gt;
        &lt;h2&gt;
          &lt;span id="conclusion"&gt;Concluding Thoughts about Lean in General&lt;/span&gt;&lt;/h2&gt;
        &lt;p&gt;
          There's this little aphorism I occasionally repeat to myself: to solve your
problem, first solve first-order logic. I feel like that applies to &lt;code&gt;Flean&lt;/code&gt; too. The
existing tactics and language features in Lean still feel vaguely incomplete.
There feels like a lot of low-hanging fruit, maybe on the software engineering side
of defining tactics.&lt;/p&gt;
        &lt;p&gt;
          Consider some "bad" yet astounding tactics. &lt;code&gt;apply?&lt;/code&gt; doesn't return useful
searches even with the &lt;code&gt;using&lt;/code&gt; keyword, but still searches through many theorems.
Similarly, &lt;code&gt;conv?&lt;/code&gt; often fails when the expressions become too complicated to
select, but should let you click around in the goal. A la Tantalus, it seems it's not
easy to pick low-hanging fruit.&lt;/p&gt;
        &lt;p&gt;
          Some features of tactics lift my spirits as new tools for mathematics. They&lt;/p&gt;
        &lt;ul&gt;
          &lt;li&gt;
            &lt;p&gt;
              return partial progress like &lt;code&gt;simp&lt;/code&gt;&lt;/p&gt;
            &lt;/li&gt;
          &lt;li&gt;
            &lt;p&gt;
              let you inspect and modify search like &lt;code&gt;simp?&lt;/code&gt;&lt;/p&gt;
            &lt;/li&gt;
          &lt;li&gt;
            &lt;p&gt;
              let you cache search and see small proof outputs also like &lt;code&gt;simp?&lt;/code&gt;.&lt;/p&gt;
            &lt;/li&gt;
          &lt;li&gt;
            &lt;p&gt;
              are extensible like &lt;code&gt;positivity&lt;/code&gt;.&lt;/p&gt;
            &lt;/li&gt;
          &lt;li&gt;
            &lt;p&gt;
              play nicely with other tactics like &lt;code&gt;gcongr&lt;/code&gt;.&lt;/p&gt;
            &lt;/li&gt;
          &lt;/ul&gt;
        &lt;p&gt;
          Ultimately, I expect tactics to rarely "solve" everything (excepting AGI).
For every tool, there is a problem it cannot solve. Not every tool needs to
completely decide a problem, so it's important to return partial progress
and allow users to pick up where tools leave off, expanding the set of decidable
problems.
&lt;/p&gt;
        &lt;/section&gt;
      &lt;/section&gt;
    </content><category term="article"></category><category term="math"></category><category term="lean"></category></entry><entry><title>Floating point numbers in Lean</title><link href="https://josephmckinsey.com/flean.html" rel="alternate"></link><published>2025-01-20T21:05:00-07:00</published><updated>2025-01-20T21:05:00-07:00</updated><author><name>Joseph McKinsey</name></author><id>tag:josephmckinsey.com,2025-01-20:/flean.html</id><summary type="html">&lt;p&gt;Floating point numbers are as simple as numbers&lt;/p&gt;</summary><content type="html">&lt;h1 id="flean-floating-point-numbers-in-lean"&gt;&lt;a href="https://github.com/josephmckinsey/flean"&gt;&lt;code&gt;Flean&lt;/code&gt;&lt;/a&gt;: Floating Point Numbers in Lean&lt;/h1&gt;
&lt;p&gt;I have been attempting to formalize a theory of floating point numbers in the
programming language &lt;a href="https://lean-lang.org/"&gt;Lean&lt;/a&gt;. Lean is an interactive
theorem prover, the newest hotness in that space, it seems. There's plenty of developments
and things to figure out still both personally and in the community as a whole.&lt;/p&gt;
&lt;p&gt;Expect this document to change as I make progress or eventually stall out.&lt;/p&gt;
&lt;h1 id="why-floating-point-numbers"&gt;Why floating point numbers?&lt;/h1&gt;
&lt;p&gt;I recently got into an argument with someone on whether you can trust floating point
number libraries. In a really sensitive application, like aerospace, floating point
number weirdness can get really peculiar and cause errors or performance problems.
I figured Lean might be able to provide guarantees of correctness that can satisfy
the sweatiest of try-hards.&lt;/p&gt;
&lt;p&gt;So far, I have learned that very small numbers and very large numbers have drastically different
properties, and it's a little bit of a miracle that any computation is accurate. &lt;/p&gt;
&lt;p&gt;&lt;img alt="Look what they need to match a fraction" src="https://raw.githubusercontent.com/josephmckinsey/Flean/main/meme.png"&gt;&lt;/p&gt;
&lt;h1 id="has-anyone-done-this-before"&gt;Has anyone done this before?&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Yes, in Coq there's &lt;a href="https://flocq.gitlabpages.inria.fr/"&gt;Flocq&lt;/a&gt; which shaped my thinking, but strays a bit from IEEE and from computability.&lt;/li&gt;
&lt;li&gt;In Mathlib (Lean), there's a very incomplete &lt;a href="https://leanprover-community.github.io/mathlib4_docs/Mathlib/Data/FP/Basic.html"&gt;FP&lt;/a&gt; where I quickly abandoned in favor
of more direct theory using &lt;code&gt;Int.log&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;There's also an interval arithmetic library in Lean &lt;a href="https://github.com/girving/interval/"&gt;interval&lt;/a&gt; which is far more sophisticated, but maybe there's room for a second. Mine has a few differences:&lt;ul&gt;
&lt;li&gt;Uses nonstandard precision with 64 exponent and 64 mantissa bits using Int64.&lt;/li&gt;
&lt;li&gt;It's trying to be fast, optimizing even in reductions via (via a custom &lt;code&gt;Nat.log2&lt;/code&gt; implementation).&lt;/li&gt;
&lt;li&gt;Supports only rounding up and down, uses two's complement on the mantissa to represent negative numbers.&lt;/li&gt;
&lt;li&gt;Focused primarily on interval arithmetic and making serious progress on tighter bounds for approximating transcendental functions.&lt;/li&gt;
&lt;li&gt;Differs from ordinary IEEE 754 standard: extra bits in the mantissa to support both the subnormal and normal numbers, 0 is unique.&lt;/li&gt;
&lt;li&gt;Their &lt;code&gt;rounds&lt;/code&gt; function does not output a number like mine. They instead deal with it like a set. &lt;code&gt;rounds&lt;/code&gt; with the up flag gives you the set of representations above that number. It's less clear how to compute with it.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id="goals-and-non-goals"&gt;Goals and Non-Goals&lt;/h1&gt;
&lt;p&gt;&lt;strong&gt;Personally&lt;/strong&gt;: Learn Lean in a serious but not hard way. I've already learned a lot.&lt;/p&gt;
&lt;p&gt;In general, the idea is to (1) model the floating point numbers, (2) characterize their properties via a convenient set of rules,
and (3) apply that logic to prove things about Lean's &lt;code&gt;Float&lt;/code&gt; by declaring an interface axiomatically.&lt;/p&gt;
&lt;h2 id="goals"&gt;Goals&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Be capable of matching operations of normal floating points as exactly as possible &lt;a href="https://en.wikipedia.org/wiki/IEEE_754"&gt;IEEE 754&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Extensible to different precisions&lt;/li&gt;
&lt;li&gt;Theoretically capable of supporting lots of bounds on Lean's &lt;code&gt;Float&lt;/code&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="non-goals"&gt;Non-Goals&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Performance&lt;/li&gt;
&lt;li&gt;Fixed-point arithmetic&lt;/li&gt;
&lt;li&gt;Interval arithmetic&lt;/li&gt;
&lt;li&gt;Using &lt;a href="https://en.wikipedia.org/wiki/Satisfiability_modulo_theories"&gt;SMT&lt;/a&gt; solvers to &lt;a href="https://github.com/bitwuzla/bitwuzla"&gt;bitblast&lt;/a&gt; our way to happiness--which is almost certainly the most practical approach.&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id="what-ive-learned-so-far"&gt;What I've learned so far?&lt;/h1&gt;
&lt;p&gt;coming soon&lt;/p&gt;</content><category term="Article"></category><category term="math"></category><category term="lean"></category></entry><entry><title>Pythagorean Theorem Without Words</title><link href="https://josephmckinsey.com/pythagorean-sans-verbis.html" rel="alternate"></link><published>2020-03-26T00:00:00-06:00</published><updated>2020-03-26T22:10:00-06:00</updated><author><name>Joseph McKinsey</name></author><id>tag:josephmckinsey.com,2020-03-26:/pythagorean-sans-verbis.html</id><summary type="html">&lt;p class="first last"&gt;Pythagorean Theorem Without Words&lt;/p&gt;
</summary><content type="html">&lt;div class="section" id="introduction"&gt;
&lt;h2&gt;Introduction&lt;/h2&gt;
&lt;p&gt;The pythagorean theorem lends itself easily to a wide variety of visual proofs. Try and figure out the logic behind them.
I find it to be clearer in some cases than others.&lt;/p&gt;
&lt;p&gt;This is partly inspired by Neal Stephenson's &amp;quot;Anathema&amp;quot; as well as numerous other visual proofs online.
There's a lot of really good ones, but I think there's some room for improvement.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="the-pythagorean-theorem"&gt;
&lt;h2&gt;The Pythagorean Theorem&lt;/h2&gt;
&lt;div class="section" id="attempt-1"&gt;
&lt;h3&gt;Attempt 1&lt;/h3&gt;
&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;!-- Created with Inkscape (http://www.inkscape.org/) --&gt;

&lt;svg
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:cc="http://creativecommons.org/ns#"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:svg="http://www.w3.org/2000/svg"
   xmlns="http://www.w3.org/2000/svg"
   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
   width="185.99268mm"
   height="177.57663mm"
   viewBox="0 0 185.99268 177.57663"
   version="1.1"
   id="svg8"
   inkscape:version="0.92.3 (2405546, 2018-03-11)"
   sodipodi:docname="pythagoreanTheorem.svg"
   inkscape:export-filename="/home/joseph/pythagoreanTheorem.svg.png"
   inkscape:export-xdpi="96"
   inkscape:export-ydpi="96"&gt;
  &lt;defs
     id="defs2" /&gt;
  &lt;sodipodi:namedview
     id="base"
     pagecolor="#ffffff"
     bordercolor="#666666"
     borderopacity="1.0"
     inkscape:pageopacity="0.0"
     inkscape:pageshadow="2"
     inkscape:zoom="0.7"
     inkscape:cx="190.65673"
     inkscape:cy="336.59366"
     inkscape:document-units="mm"
     inkscape:current-layer="layer1"
     showgrid="false"
     inkscape:window-width="1920"
     inkscape:window-height="1062"
     inkscape:window-x="1920"
     inkscape:window-y="18"
     inkscape:window-maximized="0" /&gt;
  &lt;metadata
     id="metadata5"&gt;
    &lt;rdf:RDF&gt;
      &lt;cc:Work
         rdf:about=""&gt;
        &lt;dc:format&gt;image/svg+xml&lt;/dc:format&gt;
        &lt;dc:type
           rdf:resource="http://purl.org/dc/dcmitype/StillImage" /&gt;
        &lt;dc:title /&gt;
      &lt;/cc:Work&gt;
    &lt;/rdf:RDF&gt;
  &lt;/metadata&gt;
  &lt;g
     inkscape:label="Layer 1"
     inkscape:groupmode="layer"
     id="layer1"
     transform="translate(-10.77494,-35.935374)"&gt;
    &lt;path
       style="opacity:1;fill:#808000;fill-opacity:0.43434347;stroke:#000000;stroke-width:0.32294938;stroke-opacity:1"
       d="M 65.99279,179.6965 C 38.106114,162.83586 15.07175,148.90368 14.805318,148.7361 c -0.304844,-0.19175 18.581054,-0.30835 50.945262,-0.31453 l 51.42969,-0.01 v 31.00315 c 0,17.05173 -0.10899,30.98833 -0.24221,30.97022 -0.13322,-0.0181 -23.058583,-13.82798 -50.94527,-30.68862 z"
       id="path1237"
       inkscape:connector-curvature="0" /&gt;
    &lt;path
       style="opacity:1;fill:#808000;fill-opacity:0.43434347;stroke:#000000;stroke-width:0.32294938;stroke-opacity:1"
       d="M 15.430347,141.7365 C 15.59828,141.42566 29.627471,118.14796 46.60633,90.008284 L 77.476972,38.845216 V 90.573447 142.30166 H 46.300997 c -29.592428,0 -31.160471,-0.0288 -30.87065,-0.56516 z"
       id="path1239"
       inkscape:connector-curvature="0" /&gt;
    &lt;path
       style="opacity:1;fill:#808000;fill-opacity:0.43434347;stroke:#000000;stroke-width:0.32294938;stroke-opacity:1"
       d="m 81.384821,92.043152 c 0,-31.399138 0.117087,-51.817818 0.296862,-51.752639 0.163282,0.05921 23.415647,14.058922 51.671907,31.110479 39.0163,23.544822 51.37504,31.148608 51.37504,31.608808 0,0.33328 -5.4718,9.67069 -12.15953,20.74981 l -12.15953,20.14382 H 120.89719 81.384821 Z"
       id="path1241"
       inkscape:connector-curvature="0" /&gt;
    &lt;path
       style="opacity:1;fill:#808000;fill-opacity:0.43434347;stroke:#000000;stroke-width:0.32294938;stroke-opacity:1"
       d="m 121.76332,178.05533 -0.01,-30.9224 h 18.56959 c 10.21328,0 18.5696,0.0639 18.5696,0.14201 0,0.0781 -8.18379,13.70251 -18.1862,30.27649 -10.00242,16.57398 -18.35431,30.42516 -18.55977,30.78041 -0.28473,0.49231 -0.3759,-6.70719 -0.38339,-30.27651 z"
       id="path1243"
       inkscape:connector-curvature="0" /&gt;
    &lt;path
       style="opacity:1;fill:#008080;fill-opacity:0.43434347;stroke:#000000;stroke-width:0.32294938;stroke-opacity:1"
       d="m 10.936415,182.35337 v -30.99718 l 17.842955,10.75947 c 9.813625,5.91771 32.738995,19.74014 50.945267,30.7165 18.206272,10.97637 33.240363,20.08332 33.409113,20.2377 0.17384,0.15904 -21.904279,0.28067 -50.94527,0.28067 H 10.936415 Z"
       id="path1403"
       inkscape:connector-curvature="0" /&gt;
    &lt;path
       style="opacity:1;fill:#d40000;fill-opacity:0.43434347;stroke:#000000;stroke-width:0.32294938;stroke-opacity:1"
       d="m 89.149834,93.843504 c 0,-25.283626 0.09465,-48.15707 0.210339,-50.829876 l 0.210343,-4.859644 24.253074,14.605268 c 49.24032,29.65266 75.49496,45.666381 76.53798,46.683499 0.60073,0.585809 0.57667,0.661259 -1.2024,3.770459 -0.99848,1.74497 -6.3071,10.65704 -11.79695,19.80458 l -9.98154,16.63189 -39.11542,0.0821 -39.115426,0.082 z"
       id="path1407"
       inkscape:connector-curvature="0" /&gt;
    &lt;path
       style="opacity:1;fill:#d40000;fill-opacity:0.43434347;stroke:#000000;stroke-width:0.32294938;stroke-opacity:1"
       d="m 133.5132,213.01089 c 0.005,-0.13321 8.32506,-14.04829 18.48885,-30.9224 l 18.47962,-30.68019 11.8684,-0.0847 11.86838,-0.0847 v 31.00713 31.00711 h -30.35723 c -16.69649,0 -30.35309,-0.10899 -30.34802,-0.24221 z"
       id="path1409"
       inkscape:connector-curvature="0" /&gt;
    &lt;path
       style="opacity:1;fill:#d40000;fill-opacity:0.43434347;stroke:#000000;stroke-width:0.32294938;stroke-opacity:1"
       d="m 176.13403,138.02951 c 1.75401,-2.88636 6.78528,-11.20634 11.18061,-18.48885 4.39534,-7.2825 8.04614,-13.30147 8.1129,-13.37548 0.0668,-0.0741 0.12138,8.24596 0.12138,18.48884 v 18.62342 h -11.30199 -11.30201 z"
       id="path1411"
       inkscape:connector-curvature="0" /&gt;
    &lt;path
       style="opacity:1;fill:#d40000;fill-opacity:0.43434347;stroke:#000000;stroke-width:0.32294938;stroke-opacity:1"
       d="M 146.42281,66.414125 96.349099,36.205446 146.39488,36.123691 c 27.52519,-0.04496 50.09544,-0.03211 50.15612,0.02858 0.0607,0.06068 0.0732,13.691379 0.0279,30.290433 l -0.0824,30.180104 z"
       id="path1413"
       inkscape:connector-curvature="0" /&gt;
    &lt;path
       style="opacity:1;fill:#d40000;fill-opacity:0.43434347;stroke:#000000;stroke-width:0.32294938;stroke-opacity:1"
       d="m 128.89678,207.67451 c -0.11092,-0.28898 -0.20162,-13.39486 -0.20162,-29.12418 v -28.59878 l 17.43954,0.1521 c 9.59175,0.0836 17.51895,0.23149 17.616,0.32855 0.15831,0.15831 -10.93389,18.76363 -27.77912,46.59489 -7.29012,12.04454 -6.81377,11.32766 -7.0748,10.64742 z"
       id="path1415"
       inkscape:connector-curvature="0" /&gt;
    &lt;g
       id="g857"
       style="fill:#007e7e;fill-opacity:0.43529412"
       transform="matrix(0.66303484,0,0,0.66303484,67.166322,101.50922)"&gt;
      &lt;path
         inkscape:connector-curvature="0"
         d="m 172.47829,163.02859 c -0.11232,0.0325 -0.31743,0.13622 -0.43154,0.0724 -0.0238,-0.0133 -0.0405,-0.0364 -0.0608,-0.0547 -0.0965,-0.14163 -0.11129,-0.32267 -0.0955,-0.48922 0.0235,-0.0814 0.0617,-0.18739 0.14165,-0.23313 0.90259,-0.51642 0.5678,-0.47677 0.9893,-0.51332 0.23354,-0.0293 0.45372,0.0309 0.67304,0.10387 0.312,0.11504 0.61641,0.24626 0.93833,0.33164 0.33965,0.0731 0.6884,0.1005 1.0352,0.0879 0.36181,-0.0259 0.70361,-0.14291 1.03564,-0.28128 0.29707,-0.14008 1.0005,-0.5276 -0.29984,0.19325 -0.058,0.0321 0.11296,-0.0693 0.16924,-0.10431 0.18173,-0.11293 0.13855,-0.0861 0.31532,-0.20238 0.2523,-0.16809 0.50748,-0.3314 0.74686,-0.51773 0.11493,-0.0959 0.23018,-0.19242 0.33329,-0.30121 0.0116,-0.0122 0.0181,-0.0311 0.0336,-0.0378 0.29846,-0.12891 0.60242,-0.24466 0.90364,-0.36699 -0.0909,0.50551 -0.30929,0.98078 -0.52143,1.44493 -0.41723,0.85483 -0.92665,1.6713 -1.54201,2.39856 -0.14596,0.1725 -0.30316,0.33518 -0.45474,0.50277 -0.49469,0.49976 -1.02698,0.96452 -1.61125,1.35764 -0.49551,0.3334 -1.50645,0.87261 -1.89674,1.06646 -0.16988,0.0844 -0.35365,0.13727 -0.53047,0.20591 -0.52894,0.18021 -1.08079,0.3103 -1.64314,0.28017 -0.23935,-0.0128 -0.30225,-0.035 -0.52581,-0.0836 -0.27875,-0.0677 -0.52015,-0.20607 -0.73634,-0.39038 0,0 0.83202,-0.51901 0.83202,-0.51901 v 0 c 0.2031,0.17308 0.43351,0.29702 0.6947,0.36032 0.21352,0.0454 0.27196,0.0661 0.50109,0.0763 0.54517,0.0242 1.07937,-0.10836 1.59115,-0.2843 0.17261,-0.0685 0.33368,-0.18155 0.51784,-0.2055 0.0872,-0.0113 -0.28491,0.20324 -0.20579,0.16492 0.20239,-0.0981 0.39138,-0.2223 0.5793,-0.34585 0.58587,-0.38518 1.11836,-0.84498 1.6141,-1.3392 0.15117,-0.16522 0.30805,-0.32537 0.4535,-0.49564 0.60857,-0.71242 1.10993,-1.51641 1.5123,-2.36101 0.20013,-0.44521 0.38583,-0.89658 0.49058,-1.37505 0.29818,-0.15773 0.59387,-0.32025 0.89454,-0.47319 0.0166,-0.008 -0.0276,0.0251 -0.0403,0.0387 -0.0219,0.0232 -0.0411,0.0488 -0.0634,0.0716 -0.0851,0.087 -0.18022,0.16401 -0.27052,0.24526 -0.23695,0.19585 -0.49579,0.36019 -0.75223,0.52904 -0.5895,0.39931 -1.2038,0.77149 -1.85159,1.06743 -0.34034,0.13313 -0.69128,0.24197 -1.05963,0.25503 -0.3529,0.001 -0.70693,-0.0265 -1.05044,-0.11161 -0.3217,-0.0924 -0.62883,-0.22393 -0.94584,-0.33045 -0.21445,-0.0627 -0.43056,-0.10641 -0.65351,-0.0589 -0.36612,0.10843 -0.0616,0.0243 0.72545,-0.44421 0.0157,-0.009 -0.0345,0.0122 -0.0502,0.0215 -0.0554,0.0327 -0.1,0.0816 -0.12786,0.13906 -0.0334,0.12257 -0.0226,0.2818 0.0453,0.39164 0.12346,0.0528 0.31562,-0.063 0.43227,-0.10152 0,0 -0.77829,0.6151 -0.77829,0.6151 z"
         id="path844"
         style="opacity:1;fill:#007e7e;fill-opacity:0.43529412;stroke:none;stroke-width:0.26499999;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /&gt;
      &lt;path
         inkscape:connector-curvature="0"
         d="m 171.26453,167.22954 c 0.30256,0.0336 0.60424,0.0722 0.90788,0.0956 0.44492,0.0263 0.89097,0.0375 1.33649,0.025 0.54875,-0.0105 1.09167,-0.0979 1.63596,-0.15988 0.62735,-0.0862 1.25744,-0.1586 1.88004,-0.27508 0.47631,-0.10186 0.9544,-0.1969 1.41597,-0.3549 0.31252,-0.14938 0.89205,-0.44717 -0.52513,0.30984 -0.029,0.0155 0.0517,-0.0408 0.0753,-0.0637 0.0626,-0.0607 0.0731,-0.0831 0.1219,-0.15347 0.12661,-0.19429 0.16036,-0.42002 0.18283,-0.64582 0.0141,-0.28233 -0.0411,-0.56094 -0.0747,-0.84 -0.0373,-0.2437 -0.0302,-0.48942 2.2e-4,-0.73317 0.0261,-0.25646 0.10198,-0.50013 0.18314,-0.74337 0.11655,-0.31233 0.28276,-0.6014 0.46605,-0.87856 0.16342,-0.2347 0.35074,-0.45082 0.55876,-0.6467 0.39485,-0.37265 0.88906,-0.59523 1.35827,-0.86584 0.27282,-0.12059 0.56084,-0.20027 0.84589,-0.28563 0.15518,-0.0416 0.30958,-0.0837 0.46625,-0.11933 0,0 -0.77543,0.59158 -0.77543,0.59158 v 0 c -0.15465,0.0386 -0.30867,0.0792 -0.46194,0.12303 -0.28539,0.0855 -0.57443,0.16976 -0.83944,0.30845 1.67037,-0.96823 0.69522,-0.43022 0.48139,-0.26896 -0.0587,0.0443 -0.10693,0.10144 -0.16617,0.1451 -0.21341,0.18884 -0.40671,0.39728 -0.57436,0.62841 -0.18686,0.26784 -0.35197,0.54934 -0.47407,0.85314 -0.0811,0.23726 -0.15981,0.47411 -0.18533,0.72499 -0.0406,0.23537 -0.0475,0.47535 -0.0166,0.71252 0.0324,0.28523 0.0879,0.5686 0.086,0.85667 -0.018,0.23559 -0.0423,0.47518 -0.159,0.68576 -0.27455,0.4865 -0.83854,0.70381 -1.34406,0.90234 -0.46029,0.13946 -0.9319,0.23308 -1.40284,0.32876 -0.6262,0.10964 -1.25768,0.18842 -1.8876,0.2734 -0.54697,0.0667 -1.09391,0.1464 -1.64581,0.15623 -0.45073,0.0104 -0.90196,0.002 -1.35198,-0.0263 -0.30947,-0.025 -0.6175,-0.0635 -0.92704,-0.0875 0,0 0.80925,-0.57272 0.80925,-0.57272 z"
         id="path850"
         style="opacity:1;fill:#007e7e;fill-opacity:0.43529412;stroke:none;stroke-width:0.26499999;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /&gt;
      &lt;path
         inkscape:connector-curvature="0"
         d="m 179.32607,165.96396 c 0.0338,-0.0166 0.0682,-0.0319 0.10129,-0.0497 0.0422,-0.0228 0.16617,-0.0958 0.12443,-0.0722 -0.23151,0.13102 -0.45884,0.26964 -0.69377,0.39442 -0.0563,0.0299 0.10543,-0.0715 0.15677,-0.10921 0.0542,-0.0398 0.10739,-0.0811 0.15984,-0.1233 0.0566,-0.0455 0.11151,-0.093 0.16727,-0.13957 0.33679,-0.27653 0.68298,-0.54107 1.01585,-0.82238 0.24352,-0.1993 0.45701,-0.4296 0.65009,-0.67716 0.14783,-0.17644 0.26073,-0.3725 0.35843,-0.57969 0.0859,-0.18469 0.12194,-0.38658 0.17072,-0.58303 0.0694,-0.2685 0.16906,-0.52748 0.29169,-0.77584 0.0727,-0.17186 0.19574,-0.31549 0.28091,-0.48016 0.29976,-0.1182 0.59013,-0.26378 0.89929,-0.35461 0.0302,-0.009 -0.007,0.0625 -0.0114,0.0937 -0.005,0.0414 -0.0109,0.0829 -0.017,0.12424 -0.0242,0.16423 -0.0499,0.32764 -0.0705,0.49241 -0.045,0.40417 -0.0604,0.81049 -0.0401,1.21652 0.0253,0.20004 0.0131,0.43713 0.22392,0.53186 0.0895,0.0144 0.17328,-0.0182 0.25167,-0.0596 0.0343,-0.0181 0.13274,-0.0799 0.0989,-0.061 -0.74193,0.41251 -0.9503,0.58735 -0.61586,0.32196 0.27678,-0.24812 0.50654,-0.54268 0.7304,-0.83786 0.22408,-0.32684 0.45997,-0.64485 0.69895,-0.96087 0.42548,-0.53819 0.40865,-0.5541 1.24509,-0.96634 0.0273,-0.0134 0.0466,0.0392 0.0699,0.0587 0.013,0.0406 0.0343,0.0795 0.0389,0.12194 0.0111,0.10066 -0.0313,0.33624 -0.0421,0.41539 -0.0147,0.10764 -0.0292,0.21531 -0.0429,0.32308 -0.0465,0.36577 -0.0625,0.51512 -0.10603,0.89247 -0.0866,0.74956 -0.11088,1.52332 0.0803,2.26081 0.12543,0.48398 0.19285,0.54654 0.42655,0.97477 0.0985,0.12568 0.18495,0.26177 0.29545,0.37703 0.32055,0.33438 0.73728,0.53981 1.18149,0.65355 0.40148,0.1028 0.63203,0.10323 1.04745,0.13733 0.82193,0.0385 1.63358,-0.0967 2.43826,-0.24393 0,0 -0.71533,0.53945 -0.71533,0.53945 v 0 c -0.81315,0.14399 -1.63323,0.27487 -2.46267,0.23244 -0.4262,-0.0372 -0.65962,-0.038 -1.07093,-0.14851 -0.4602,-0.12366 -0.88341,-0.34618 -1.20925,-0.69963 -0.11132,-0.12075 -0.19792,-0.26215 -0.29688,-0.39323 -0.084,-0.15716 -0.18161,-0.30779 -0.25207,-0.47148 -0.37925,-0.88104 -0.37327,-1.87245 -0.28766,-2.80889 0.051,-0.53827 0.1074,-1.07722 0.14623,-1.61613 -0.15101,0.29065 0.0106,-0.0283 0.77548,-0.45303 0.0309,-0.0172 -0.0501,0.0499 -0.0735,0.0765 -0.1012,0.11469 -0.18942,0.24052 -0.29286,0.35337 -0.23985,0.31735 -0.48561,0.63019 -0.70453,0.96275 -0.21986,0.29788 -0.44605,0.59345 -0.71112,0.85308 -0.37155,0.34178 -0.10866,0.11354 -1.05639,0.66055 -0.129,0.0745 -0.27473,0.10263 -0.41439,0.044 -0.23127,-0.15785 -0.23375,-0.3645 -0.25797,-0.62561 -0.0158,-0.41061 -0.005,-0.82096 0.0332,-1.23033 0.0173,-0.16335 0.0414,-0.32506 0.0616,-0.48791 0.005,-0.0406 0.0163,-0.20332 0.0223,-0.207 0.29056,-0.17927 0.60303,-0.32033 0.90455,-0.48049 -0.0554,0.0407 -0.0822,0.10591 -0.11924,0.16212 -0.0655,0.0993 -0.13892,0.19393 -0.18673,0.30401 -0.12948,0.23823 -0.23047,0.49043 -0.29756,0.75353 -0.0514,0.20083 -0.0843,0.40731 -0.16202,0.60034 -0.10106,0.21108 -0.19761,0.42257 -0.35458,0.60008 -0.1906,0.25784 -0.40624,0.49637 -0.65357,0.70145 -0.33138,0.28393 -0.67702,0.54985 -1.01727,0.82295 -0.14896,0.12927 -0.30164,0.27825 -0.47096,0.38145 -0.39649,0.24167 -0.79748,0.48778 -1.21325,0.69909 0,0 0.77327,-0.61854 0.77327,-0.61854 z"
         id="path852"
         style="opacity:1;fill:#007e7e;fill-opacity:0.43529412;stroke:none;stroke-width:0.26499999;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /&gt;
    &lt;/g&gt;
  &lt;/g&gt;
&lt;/svg&gt;
&lt;/div&gt;
&lt;div class="section" id="attempt-2"&gt;
&lt;h3&gt;Attempt 2&lt;/h3&gt;
&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;!-- Created with Inkscape (http://www.inkscape.org/) --&gt;

&lt;svg
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:cc="http://creativecommons.org/ns#"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:svg="http://www.w3.org/2000/svg"
   xmlns="http://www.w3.org/2000/svg"
   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
   width="149.8947mm"
   height="150.16389mm"
   viewBox="0 0 149.8947 150.16389"
   version="1.1"
   id="svg1442"
   inkscape:version="0.92.3 (2405546, 2018-03-11)"
   sodipodi:docname="pythagoreanTheorem2.svg"&gt;
  &lt;defs
     id="defs1436"&gt;
    &lt;filter
       inkscape:collect="always"
       style="color-interpolation-filters:sRGB"
       id="filter5290"
       x="-0.012010992"
       width="1.024022"
       y="-0.011996791"
       height="1.0239936"&gt;
      &lt;feGaussianBlur
         inkscape:collect="always"
         stdDeviation="0.73256245"
         id="feGaussianBlur5292" /&gt;
    &lt;/filter&gt;
    &lt;filter
       inkscape:collect="always"
       style="color-interpolation-filters:sRGB"
       id="filter5294"
       x="-0.012056551"
       width="1.0241131"
       y="-0.012032246"
       height="1.0240645"&gt;
      &lt;feGaussianBlur
         inkscape:collect="always"
         stdDeviation="0.73649594"
         id="feGaussianBlur5296" /&gt;
    &lt;/filter&gt;
    &lt;filter
       inkscape:collect="always"
       style="color-interpolation-filters:sRGB"
       id="filter5298"
       x="-0.028477015"
       width="1.056954"
       y="-0.028232578"
       height="1.0564651"&gt;
      &lt;feGaussianBlur
         inkscape:collect="always"
         stdDeviation="0.73256245"
         id="feGaussianBlur5300" /&gt;
    &lt;/filter&gt;
  &lt;/defs&gt;
  &lt;sodipodi:namedview
     id="base"
     pagecolor="#ffffff"
     bordercolor="#666666"
     borderopacity="1.0"
     inkscape:pageopacity="0.0"
     inkscape:pageshadow="2"
     inkscape:zoom="0.98994949"
     inkscape:cx="273.88972"
     inkscape:cy="340.6584"
     inkscape:document-units="mm"
     inkscape:current-layer="layer1"
     showgrid="false"
     inkscape:window-width="1920"
     inkscape:window-height="1062"
     inkscape:window-x="1920"
     inkscape:window-y="18"
     inkscape:window-maximized="0" /&gt;
  &lt;metadata
     id="metadata1439"&gt;
    &lt;rdf:RDF&gt;
      &lt;cc:Work
         rdf:about=""&gt;
        &lt;dc:format&gt;image/svg+xml&lt;/dc:format&gt;
        &lt;dc:type
           rdf:resource="http://purl.org/dc/dcmitype/StillImage" /&gt;
        &lt;dc:title /&gt;
      &lt;/cc:Work&gt;
    &lt;/rdf:RDF&gt;
  &lt;/metadata&gt;
  &lt;g
     inkscape:label="Layer 1"
     inkscape:groupmode="layer"
     id="layer1"
     transform="translate(-27.932742,-41.505903)"&gt;
    &lt;rect
       style="opacity:1;fill:#808080;fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-opacity:0.47999998;filter:url(#filter5290)"
       id="rect2039"
       width="146.3784"
       height="146.55168"
       x="29.690891"
       y="43.359966" /&gt;
    &lt;rect
       style="opacity:1;fill:#000500;fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-opacity:1;filter:url(#filter5294)"
       id="rect1987"
       width="112.52047"
       height="113.05501"
       x="82.274628"
       y="13.805798"
       transform="matrix(0.92264715,0.37157654,-0.37157654,0.92264715,0.94689933,-0.04413195)" /&gt;
    &lt;path
       style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26726952;stroke-opacity:1;filter:url(#filter5298)"
       d="M 72.186749,113.51822 V 82.381322 h 30.869631 30.86963 v 31.136898 31.1369 H 103.05638 72.186749 Z"
       id="path2013"
       inkscape:connector-curvature="0" /&gt;
    &lt;g
       id="g857-3"
       style="fill:#007e7e;fill-opacity:0.43529412"
       transform="matrix(0.66303485,0,0,0.66303485,49.423661,77.501672)"&gt;
      &lt;path
         inkscape:connector-curvature="0"
         d="m 172.47829,163.02859 c -0.11232,0.0325 -0.31743,0.13622 -0.43154,0.0724 -0.0238,-0.0133 -0.0405,-0.0364 -0.0608,-0.0547 -0.0965,-0.14163 -0.11129,-0.32267 -0.0955,-0.48922 0.0235,-0.0814 0.0617,-0.18739 0.14165,-0.23313 0.90259,-0.51642 0.5678,-0.47677 0.9893,-0.51332 0.23354,-0.0293 0.45372,0.0309 0.67304,0.10387 0.312,0.11504 0.61641,0.24626 0.93833,0.33164 0.33965,0.0731 0.6884,0.1005 1.0352,0.0879 0.36181,-0.0259 0.70361,-0.14291 1.03564,-0.28128 0.29707,-0.14008 1.0005,-0.5276 -0.29984,0.19325 -0.058,0.0321 0.11296,-0.0693 0.16924,-0.10431 0.18173,-0.11293 0.13855,-0.0861 0.31532,-0.20238 0.2523,-0.16809 0.50748,-0.3314 0.74686,-0.51773 0.11493,-0.0959 0.23018,-0.19242 0.33329,-0.30121 0.0116,-0.0122 0.0181,-0.0311 0.0336,-0.0378 0.29846,-0.12891 0.60242,-0.24466 0.90364,-0.36699 -0.0909,0.50551 -0.30929,0.98078 -0.52143,1.44493 -0.41723,0.85483 -0.92665,1.6713 -1.54201,2.39856 -0.14596,0.1725 -0.30316,0.33518 -0.45474,0.50277 -0.49469,0.49976 -1.02698,0.96452 -1.61125,1.35764 -0.49551,0.3334 -1.50645,0.87261 -1.89674,1.06646 -0.16988,0.0844 -0.35365,0.13727 -0.53047,0.20591 -0.52894,0.18021 -1.08079,0.3103 -1.64314,0.28017 -0.23935,-0.0128 -0.30225,-0.035 -0.52581,-0.0836 -0.27875,-0.0677 -0.52015,-0.20607 -0.73634,-0.39038 0,0 0.83202,-0.51901 0.83202,-0.51901 v 0 c 0.2031,0.17308 0.43351,0.29702 0.6947,0.36032 0.21352,0.0454 0.27196,0.0661 0.50109,0.0763 0.54517,0.0242 1.07937,-0.10836 1.59115,-0.2843 0.17261,-0.0685 0.33368,-0.18155 0.51784,-0.2055 0.0872,-0.0113 -0.28491,0.20324 -0.20579,0.16492 0.20239,-0.0981 0.39138,-0.2223 0.5793,-0.34585 0.58587,-0.38518 1.11836,-0.84498 1.6141,-1.3392 0.15117,-0.16522 0.30805,-0.32537 0.4535,-0.49564 0.60857,-0.71242 1.10993,-1.51641 1.5123,-2.36101 0.20013,-0.44521 0.38583,-0.89658 0.49058,-1.37505 0.29818,-0.15773 0.59387,-0.32025 0.89454,-0.47319 0.0166,-0.008 -0.0276,0.0251 -0.0403,0.0387 -0.0219,0.0232 -0.0411,0.0488 -0.0634,0.0716 -0.0851,0.087 -0.18022,0.16401 -0.27052,0.24526 -0.23695,0.19585 -0.49579,0.36019 -0.75223,0.52904 -0.5895,0.39931 -1.2038,0.77149 -1.85159,1.06743 -0.34034,0.13313 -0.69128,0.24197 -1.05963,0.25503 -0.3529,0.001 -0.70693,-0.0265 -1.05044,-0.11161 -0.3217,-0.0924 -0.62883,-0.22393 -0.94584,-0.33045 -0.21445,-0.0627 -0.43056,-0.10641 -0.65351,-0.0589 -0.36612,0.10843 -0.0616,0.0243 0.72545,-0.44421 0.0157,-0.009 -0.0345,0.0122 -0.0502,0.0215 -0.0554,0.0327 -0.1,0.0816 -0.12786,0.13906 -0.0334,0.12257 -0.0226,0.2818 0.0453,0.39164 0.12346,0.0528 0.31562,-0.063 0.43227,-0.10152 0,0 -0.77829,0.6151 -0.77829,0.6151 z"
         id="path844-6"
         style="opacity:1;fill:#007e7e;fill-opacity:0.43529412;stroke:none;stroke-width:0.26499999;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /&gt;
      &lt;path
         inkscape:connector-curvature="0"
         d="m 171.26453,167.22954 c 0.30256,0.0336 0.60424,0.0722 0.90788,0.0956 0.44492,0.0263 0.89097,0.0375 1.33649,0.025 0.54875,-0.0105 1.09167,-0.0979 1.63596,-0.15988 0.62735,-0.0862 1.25744,-0.1586 1.88004,-0.27508 0.47631,-0.10186 0.9544,-0.1969 1.41597,-0.3549 0.31252,-0.14938 0.89205,-0.44717 -0.52513,0.30984 -0.029,0.0155 0.0517,-0.0408 0.0753,-0.0637 0.0626,-0.0607 0.0731,-0.0831 0.1219,-0.15347 0.12661,-0.19429 0.16036,-0.42002 0.18283,-0.64582 0.0141,-0.28233 -0.0411,-0.56094 -0.0747,-0.84 -0.0373,-0.2437 -0.0302,-0.48942 2.2e-4,-0.73317 0.0261,-0.25646 0.10198,-0.50013 0.18314,-0.74337 0.11655,-0.31233 0.28276,-0.6014 0.46605,-0.87856 0.16342,-0.2347 0.35074,-0.45082 0.55876,-0.6467 0.39485,-0.37265 0.88906,-0.59523 1.35827,-0.86584 0.27282,-0.12059 0.56084,-0.20027 0.84589,-0.28563 0.15518,-0.0416 0.30958,-0.0837 0.46625,-0.11933 0,0 -0.77543,0.59158 -0.77543,0.59158 v 0 c -0.15465,0.0386 -0.30867,0.0792 -0.46194,0.12303 -0.28539,0.0855 -0.57443,0.16976 -0.83944,0.30845 1.67037,-0.96823 0.69522,-0.43022 0.48139,-0.26896 -0.0587,0.0443 -0.10693,0.10144 -0.16617,0.1451 -0.21341,0.18884 -0.40671,0.39728 -0.57436,0.62841 -0.18686,0.26784 -0.35197,0.54934 -0.47407,0.85314 -0.0811,0.23726 -0.15981,0.47411 -0.18533,0.72499 -0.0406,0.23537 -0.0475,0.47535 -0.0166,0.71252 0.0324,0.28523 0.0879,0.5686 0.086,0.85667 -0.018,0.23559 -0.0423,0.47518 -0.159,0.68576 -0.27455,0.4865 -0.83854,0.70381 -1.34406,0.90234 -0.46029,0.13946 -0.9319,0.23308 -1.40284,0.32876 -0.6262,0.10964 -1.25768,0.18842 -1.8876,0.2734 -0.54697,0.0667 -1.09391,0.1464 -1.64581,0.15623 -0.45073,0.0104 -0.90196,0.002 -1.35198,-0.0263 -0.30947,-0.025 -0.6175,-0.0635 -0.92704,-0.0875 0,0 0.80925,-0.57272 0.80925,-0.57272 z"
         id="path850-7"
         style="opacity:1;fill:#007e7e;fill-opacity:0.43529412;stroke:none;stroke-width:0.26499999;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /&gt;
      &lt;path
         inkscape:connector-curvature="0"
         d="m 179.32607,165.96396 c 0.0338,-0.0166 0.0682,-0.0319 0.10129,-0.0497 0.0422,-0.0228 0.16617,-0.0958 0.12443,-0.0722 -0.23151,0.13102 -0.45884,0.26964 -0.69377,0.39442 -0.0563,0.0299 0.10543,-0.0715 0.15677,-0.10921 0.0542,-0.0398 0.10739,-0.0811 0.15984,-0.1233 0.0566,-0.0455 0.11151,-0.093 0.16727,-0.13957 0.33679,-0.27653 0.68298,-0.54107 1.01585,-0.82238 0.24352,-0.1993 0.45701,-0.4296 0.65009,-0.67716 0.14783,-0.17644 0.26073,-0.3725 0.35843,-0.57969 0.0859,-0.18469 0.12194,-0.38658 0.17072,-0.58303 0.0694,-0.2685 0.16906,-0.52748 0.29169,-0.77584 0.0727,-0.17186 0.19574,-0.31549 0.28091,-0.48016 0.29976,-0.1182 0.59013,-0.26378 0.89929,-0.35461 0.0302,-0.009 -0.007,0.0625 -0.0114,0.0937 -0.005,0.0414 -0.0109,0.0829 -0.017,0.12424 -0.0242,0.16423 -0.0499,0.32764 -0.0705,0.49241 -0.045,0.40417 -0.0604,0.81049 -0.0401,1.21652 0.0253,0.20004 0.0131,0.43713 0.22392,0.53186 0.0895,0.0144 0.17328,-0.0182 0.25167,-0.0596 0.0343,-0.0181 0.13274,-0.0799 0.0989,-0.061 -0.74193,0.41251 -0.9503,0.58735 -0.61586,0.32196 0.27678,-0.24812 0.50654,-0.54268 0.7304,-0.83786 0.22408,-0.32684 0.45997,-0.64485 0.69895,-0.96087 0.42548,-0.53819 0.40865,-0.5541 1.24509,-0.96634 0.0273,-0.0134 0.0466,0.0392 0.0699,0.0587 0.013,0.0406 0.0343,0.0795 0.0389,0.12194 0.0111,0.10066 -0.0313,0.33624 -0.0421,0.41539 -0.0147,0.10764 -0.0292,0.21531 -0.0429,0.32308 -0.0465,0.36577 -0.0625,0.51512 -0.10603,0.89247 -0.0866,0.74956 -0.11088,1.52332 0.0803,2.26081 0.12543,0.48398 0.19285,0.54654 0.42655,0.97477 0.0985,0.12568 0.18495,0.26177 0.29545,0.37703 0.32055,0.33438 0.73728,0.53981 1.18149,0.65355 0.40148,0.1028 0.63203,0.10323 1.04745,0.13733 0.82193,0.0385 1.63358,-0.0967 2.43826,-0.24393 0,0 -0.71533,0.53945 -0.71533,0.53945 v 0 c -0.81315,0.14399 -1.63323,0.27487 -2.46267,0.23244 -0.4262,-0.0372 -0.65962,-0.038 -1.07093,-0.14851 -0.4602,-0.12366 -0.88341,-0.34618 -1.20925,-0.69963 -0.11132,-0.12075 -0.19792,-0.26215 -0.29688,-0.39323 -0.084,-0.15716 -0.18161,-0.30779 -0.25207,-0.47148 -0.37925,-0.88104 -0.37327,-1.87245 -0.28766,-2.80889 0.051,-0.53827 0.1074,-1.07722 0.14623,-1.61613 -0.15101,0.29065 0.0106,-0.0283 0.77548,-0.45303 0.0309,-0.0172 -0.0501,0.0499 -0.0735,0.0765 -0.1012,0.11469 -0.18942,0.24052 -0.29286,0.35337 -0.23985,0.31735 -0.48561,0.63019 -0.70453,0.96275 -0.21986,0.29788 -0.44605,0.59345 -0.71112,0.85308 -0.37155,0.34178 -0.10866,0.11354 -1.05639,0.66055 -0.129,0.0745 -0.27473,0.10263 -0.41439,0.044 -0.23127,-0.15785 -0.23375,-0.3645 -0.25797,-0.62561 -0.0158,-0.41061 -0.005,-0.82096 0.0332,-1.23033 0.0173,-0.16335 0.0414,-0.32506 0.0616,-0.48791 0.005,-0.0406 0.0163,-0.20332 0.0223,-0.207 0.29056,-0.17927 0.60303,-0.32033 0.90455,-0.48049 -0.0554,0.0407 -0.0822,0.10591 -0.11924,0.16212 -0.0655,0.0993 -0.13892,0.19393 -0.18673,0.30401 -0.12948,0.23823 -0.23047,0.49043 -0.29756,0.75353 -0.0514,0.20083 -0.0843,0.40731 -0.16202,0.60034 -0.10106,0.21108 -0.19761,0.42257 -0.35458,0.60008 -0.1906,0.25784 -0.40624,0.49637 -0.65357,0.70145 -0.33138,0.28393 -0.67702,0.54985 -1.01727,0.82295 -0.14896,0.12927 -0.30164,0.27825 -0.47096,0.38145 -0.39649,0.24167 -0.79748,0.48778 -1.21325,0.69909 0,0 0.77327,-0.61854 0.77327,-0.61854 z"
         id="path852-5"
         style="opacity:1;fill:#007e7e;fill-opacity:0.43529412;stroke:none;stroke-width:0.26499999;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /&gt;
    &lt;/g&gt;
  &lt;/g&gt;
&lt;/svg&gt;
&lt;/div&gt;
&lt;div class="section" id="attempt-3-based-on-euclid"&gt;
&lt;h3&gt;Attempt 3 (based on Euclid)&lt;/h3&gt;
&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;!-- Created with Inkscape (http://www.inkscape.org/) --&gt;

&lt;svg
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:cc="http://creativecommons.org/ns#"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:svg="http://www.w3.org/2000/svg"
   xmlns="http://www.w3.org/2000/svg"
   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
   width="158.61722mm"
   height="204.24704mm"
   viewBox="0 0 158.61722 204.24704"
   version="1.1"
   id="svg3909"
   inkscape:version="0.92.3 (2405546, 2018-03-11)"
   sodipodi:docname="pythagoreanTheorem3.svg"&gt;
  &lt;defs
     id="defs3903" /&gt;
  &lt;sodipodi:namedview
     id="base"
     pagecolor="#ffffff"
     bordercolor="#666666"
     borderopacity="1.0"
     inkscape:pageopacity="0.0"
     inkscape:pageshadow="2"
     inkscape:zoom="1"
     inkscape:cx="124.70336"
     inkscape:cy="368.22333"
     inkscape:document-units="mm"
     inkscape:current-layer="layer1"
     showgrid="false"
     inkscape:window-width="1920"
     inkscape:window-height="1062"
     inkscape:window-x="1920"
     inkscape:window-y="18"
     inkscape:window-maximized="0" /&gt;
  &lt;metadata
     id="metadata3906"&gt;
    &lt;rdf:RDF&gt;
      &lt;cc:Work
         rdf:about=""&gt;
        &lt;dc:format&gt;image/svg+xml&lt;/dc:format&gt;
        &lt;dc:type
           rdf:resource="http://purl.org/dc/dcmitype/StillImage" /&gt;
        &lt;dc:title&gt;&lt;/dc:title&gt;
      &lt;/cc:Work&gt;
    &lt;/rdf:RDF&gt;
  &lt;/metadata&gt;
  &lt;g
     inkscape:label="Layer 1"
     inkscape:groupmode="layer"
     id="layer1"
     transform="translate(-36.884085,-10.38556)"&gt;
    &lt;path
       style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.75889236;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.63500001"
       d="M 74.737938,131.21447 V 94.483776 H 157.9442 Z"
       id="path4458"
       inkscape:connector-curvature="0" /&gt;
    &lt;rect
       style="opacity:1;fill:#393939;fill-opacity:0.06000001;stroke:#ffffff;stroke-width:0.75889236;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.63500001"
       id="rect4466"
       width="36.928638"
       height="36.928638"
       x="37.809299"
       y="94.285828" /&gt;
    &lt;rect
       style="opacity:1;fill:#393939;fill-opacity:0;stroke:#ffffff;stroke-width:0.75889236;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.63500001"
       id="rect4468"
       width="82.885971"
       height="82.885971"
       x="75.058228"
       y="11.597799" /&gt;
    &lt;rect
       style="opacity:1;fill:#393939;fill-opacity:0.03500001;stroke:#ffffff;stroke-width:0.75889236;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.63500001"
       id="rect4470"
       width="90.710747"
       height="90.710747"
       x="15.567202"
       y="150.2616"
       transform="rotate(-23.840481)" /&gt;
    &lt;path
       style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.75889236;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.63500001"
       d="M 37.809302,131.21446 157.9442,94.483768"
       id="path4472"
       inkscape:connector-curvature="0" /&gt;
    &lt;path
       style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.75889236;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.63500001"
       d="M 75.058223,94.483772 111.63793,214.11909"
       id="path4474"
       inkscape:connector-curvature="0" /&gt;
    &lt;path
       style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.75889236;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.63500001"
       d="M 74.801186,94.511725 125.13164,208.40814"
       id="path4476"
       inkscape:connector-curvature="0" /&gt;
    &lt;path
       style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.75889236;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.63500001"
       d="M 74.973401,131.14829 157.9442,11.5978"
       id="path4478"
       inkscape:connector-curvature="0" /&gt;
    &lt;path
       style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.75889236;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.63500001"
       d="M 74.737938,94.285827 194.60872,177.45456"
       id="path4480"
       inkscape:connector-curvature="0" /&gt;
    &lt;path
       style="fill:#00bf08;fill-opacity:0.43000004;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.75889236;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.63500001"
       d="M 88.308039,124.76378 194.60872,177.45456 157.9442,94.483772 Z"
       id="path4484"
       inkscape:connector-curvature="0" /&gt;
    &lt;path
       style="fill:#00bf08;fill-opacity:0.43000004;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.75889236;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.63500001"
       d="M 74.737938,94.285827 194.60872,177.45456 157.9442,94.483768 Z"
       id="path4486"
       inkscape:connector-curvature="0" /&gt;
    &lt;path
       style="fill:#00bf08;fill-opacity:0.43000004;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.75889236;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.63500001"
       d="M 74.973401,131.14829 157.9442,94.483776 V 11.5978 Z"
       id="path4504"
       inkscape:connector-curvature="0" /&gt;
    &lt;path
       style="fill:#00bf08;fill-opacity:0.43000004;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.75889236;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.63500001"
       d="m 75.058223,94.483772 82.885977,-4e-6 V 11.5978 Z"
       id="path4508"
       inkscape:connector-curvature="0" /&gt;
    &lt;path
       style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.75889236;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.63500001"
       d="M 74.973404,131.14829 157.9442,11.5978 H 75.058226 Z"
       id="path4510"
       inkscape:connector-curvature="0" /&gt;
    &lt;path
       style="fill:#007272;fill-opacity:0.46500017;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.75889236;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.63500001"
       d="M 75.058226,94.483772 157.9442,11.5978 H 75.058226 Z"
       id="path4514"
       inkscape:connector-curvature="0" /&gt;
    &lt;path
       style="fill:#007272;fill-opacity:0.46500017;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.75889236;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.63500001"
       d="m 88.308036,124.76378 36.823604,83.64436 69.47708,-30.95358 z"
       id="path4516"
       inkscape:connector-curvature="0" /&gt;
    &lt;path
       style="fill:#c90000;fill-opacity:0.46500017;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.75889236;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.63500001"
       d="M 37.809302,131.21446 157.9442,94.483768 74.973401,131.14829 Z"
       id="path4518"
       inkscape:connector-curvature="0" /&gt;
    &lt;path
       style="fill:#720000;fill-opacity:0.46500017;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.75889236;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.63500001"
       d="M 75.058223,94.483772 111.63793,214.11909 74.973401,131.14829 Z"
       id="path4520"
       inkscape:connector-curvature="0" /&gt;
    &lt;path
       style="fill:#c90000;fill-opacity:0.46500017;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.75889236;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.63500001"
       d="M 37.809302,131.21446 75.058223,94.483772 74.737938,131.21446 Z"
       id="path4522"
       inkscape:connector-curvature="0" /&gt;
    &lt;path
       style="fill:#c90000;fill-opacity:0.46500017;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.75889236;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.63500001"
       d="m 88.308039,124.76378 23.329891,89.35531 -36.664529,-82.9708 z"
       id="path4524"
       inkscape:connector-curvature="0" /&gt;
    &lt;path
       style="fill:#c2b400;fill-opacity:0.46500017;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.75889236;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.63500001"
       d="M 37.8093,131.21446 74.737937,94.28583 H 37.8093 Z"
       id="path4526"
       inkscape:connector-curvature="0" /&gt;
    &lt;path
       style="fill:#c2b400;fill-opacity:0.46500017;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.75889236;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.63500001"
       d="m 75.058223,94.483772 50.073407,113.924368 -13.4937,5.71095 z"
       id="path4528"
       inkscape:connector-curvature="0" /&gt;
    &lt;g
       id="g857"
       style="fill:#007e7e;fill-opacity:0.43529412"
       transform="matrix(0.66303485,0,0,0.66303485,-35.477085,-91.795011)"&gt;
      &lt;path
         inkscape:connector-curvature="0"
         d="m 172.47829,163.02859 c -0.11232,0.0325 -0.31743,0.13622 -0.43154,0.0724 -0.0238,-0.0133 -0.0405,-0.0364 -0.0608,-0.0547 -0.0965,-0.14163 -0.11129,-0.32267 -0.0955,-0.48922 0.0235,-0.0814 0.0617,-0.18739 0.14165,-0.23313 0.90259,-0.51642 0.5678,-0.47677 0.9893,-0.51332 0.23354,-0.0293 0.45372,0.0309 0.67304,0.10387 0.312,0.11504 0.61641,0.24626 0.93833,0.33164 0.33965,0.0731 0.6884,0.1005 1.0352,0.0879 0.36181,-0.0259 0.70361,-0.14291 1.03564,-0.28128 0.29707,-0.14008 1.0005,-0.5276 -0.29984,0.19325 -0.058,0.0321 0.11296,-0.0693 0.16924,-0.10431 0.18173,-0.11293 0.13855,-0.0861 0.31532,-0.20238 0.2523,-0.16809 0.50748,-0.3314 0.74686,-0.51773 0.11493,-0.0959 0.23018,-0.19242 0.33329,-0.30121 0.0116,-0.0122 0.0181,-0.0311 0.0336,-0.0378 0.29846,-0.12891 0.60242,-0.24466 0.90364,-0.36699 -0.0909,0.50551 -0.30929,0.98078 -0.52143,1.44493 -0.41723,0.85483 -0.92665,1.6713 -1.54201,2.39856 -0.14596,0.1725 -0.30316,0.33518 -0.45474,0.50277 -0.49469,0.49976 -1.02698,0.96452 -1.61125,1.35764 -0.49551,0.3334 -1.50645,0.87261 -1.89674,1.06646 -0.16988,0.0844 -0.35365,0.13727 -0.53047,0.20591 -0.52894,0.18021 -1.08079,0.3103 -1.64314,0.28017 -0.23935,-0.0128 -0.30225,-0.035 -0.52581,-0.0836 -0.27875,-0.0677 -0.52015,-0.20607 -0.73634,-0.39038 0,0 0.83202,-0.51901 0.83202,-0.51901 v 0 c 0.2031,0.17308 0.43351,0.29702 0.6947,0.36032 0.21352,0.0454 0.27196,0.0661 0.50109,0.0763 0.54517,0.0242 1.07937,-0.10836 1.59115,-0.2843 0.17261,-0.0685 0.33368,-0.18155 0.51784,-0.2055 0.0872,-0.0113 -0.28491,0.20324 -0.20579,0.16492 0.20239,-0.0981 0.39138,-0.2223 0.5793,-0.34585 0.58587,-0.38518 1.11836,-0.84498 1.6141,-1.3392 0.15117,-0.16522 0.30805,-0.32537 0.4535,-0.49564 0.60857,-0.71242 1.10993,-1.51641 1.5123,-2.36101 0.20013,-0.44521 0.38583,-0.89658 0.49058,-1.37505 0.29818,-0.15773 0.59387,-0.32025 0.89454,-0.47319 0.0166,-0.008 -0.0276,0.0251 -0.0403,0.0387 -0.0219,0.0232 -0.0411,0.0488 -0.0634,0.0716 -0.0851,0.087 -0.18022,0.16401 -0.27052,0.24526 -0.23695,0.19585 -0.49579,0.36019 -0.75223,0.52904 -0.5895,0.39931 -1.2038,0.77149 -1.85159,1.06743 -0.34034,0.13313 -0.69128,0.24197 -1.05963,0.25503 -0.3529,0.001 -0.70693,-0.0265 -1.05044,-0.11161 -0.3217,-0.0924 -0.62883,-0.22393 -0.94584,-0.33045 -0.21445,-0.0627 -0.43056,-0.10641 -0.65351,-0.0589 -0.36612,0.10843 -0.0616,0.0243 0.72545,-0.44421 0.0157,-0.009 -0.0345,0.0122 -0.0502,0.0215 -0.0554,0.0327 -0.1,0.0816 -0.12786,0.13906 -0.0334,0.12257 -0.0226,0.2818 0.0453,0.39164 0.12346,0.0528 0.31562,-0.063 0.43227,-0.10152 0,0 -0.77829,0.6151 -0.77829,0.6151 z"
         id="path844"
         style="opacity:1;fill:#007e7e;fill-opacity:0.43529412;stroke:none;stroke-width:0.26499999;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /&gt;
      &lt;path
         inkscape:connector-curvature="0"
         d="m 171.26453,167.22954 c 0.30256,0.0336 0.60424,0.0722 0.90788,0.0956 0.44492,0.0263 0.89097,0.0375 1.33649,0.025 0.54875,-0.0105 1.09167,-0.0979 1.63596,-0.15988 0.62735,-0.0862 1.25744,-0.1586 1.88004,-0.27508 0.47631,-0.10186 0.9544,-0.1969 1.41597,-0.3549 0.31252,-0.14938 0.89205,-0.44717 -0.52513,0.30984 -0.029,0.0155 0.0517,-0.0408 0.0753,-0.0637 0.0626,-0.0607 0.0731,-0.0831 0.1219,-0.15347 0.12661,-0.19429 0.16036,-0.42002 0.18283,-0.64582 0.0141,-0.28233 -0.0411,-0.56094 -0.0747,-0.84 -0.0373,-0.2437 -0.0302,-0.48942 2.2e-4,-0.73317 0.0261,-0.25646 0.10198,-0.50013 0.18314,-0.74337 0.11655,-0.31233 0.28276,-0.6014 0.46605,-0.87856 0.16342,-0.2347 0.35074,-0.45082 0.55876,-0.6467 0.39485,-0.37265 0.88906,-0.59523 1.35827,-0.86584 0.27282,-0.12059 0.56084,-0.20027 0.84589,-0.28563 0.15518,-0.0416 0.30958,-0.0837 0.46625,-0.11933 0,0 -0.77543,0.59158 -0.77543,0.59158 v 0 c -0.15465,0.0386 -0.30867,0.0792 -0.46194,0.12303 -0.28539,0.0855 -0.57443,0.16976 -0.83944,0.30845 1.67037,-0.96823 0.69522,-0.43022 0.48139,-0.26896 -0.0587,0.0443 -0.10693,0.10144 -0.16617,0.1451 -0.21341,0.18884 -0.40671,0.39728 -0.57436,0.62841 -0.18686,0.26784 -0.35197,0.54934 -0.47407,0.85314 -0.0811,0.23726 -0.15981,0.47411 -0.18533,0.72499 -0.0406,0.23537 -0.0475,0.47535 -0.0166,0.71252 0.0324,0.28523 0.0879,0.5686 0.086,0.85667 -0.018,0.23559 -0.0423,0.47518 -0.159,0.68576 -0.27455,0.4865 -0.83854,0.70381 -1.34406,0.90234 -0.46029,0.13946 -0.9319,0.23308 -1.40284,0.32876 -0.6262,0.10964 -1.25768,0.18842 -1.8876,0.2734 -0.54697,0.0667 -1.09391,0.1464 -1.64581,0.15623 -0.45073,0.0104 -0.90196,0.002 -1.35198,-0.0263 -0.30947,-0.025 -0.6175,-0.0635 -0.92704,-0.0875 0,0 0.80925,-0.57272 0.80925,-0.57272 z"
         id="path850"
         style="opacity:1;fill:#007e7e;fill-opacity:0.43529412;stroke:none;stroke-width:0.26499999;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /&gt;
      &lt;path
         inkscape:connector-curvature="0"
         d="m 179.32607,165.96396 c 0.0338,-0.0166 0.0682,-0.0319 0.10129,-0.0497 0.0422,-0.0228 0.16617,-0.0958 0.12443,-0.0722 -0.23151,0.13102 -0.45884,0.26964 -0.69377,0.39442 -0.0563,0.0299 0.10543,-0.0715 0.15677,-0.10921 0.0542,-0.0398 0.10739,-0.0811 0.15984,-0.1233 0.0566,-0.0455 0.11151,-0.093 0.16727,-0.13957 0.33679,-0.27653 0.68298,-0.54107 1.01585,-0.82238 0.24352,-0.1993 0.45701,-0.4296 0.65009,-0.67716 0.14783,-0.17644 0.26073,-0.3725 0.35843,-0.57969 0.0859,-0.18469 0.12194,-0.38658 0.17072,-0.58303 0.0694,-0.2685 0.16906,-0.52748 0.29169,-0.77584 0.0727,-0.17186 0.19574,-0.31549 0.28091,-0.48016 0.29976,-0.1182 0.59013,-0.26378 0.89929,-0.35461 0.0302,-0.009 -0.007,0.0625 -0.0114,0.0937 -0.005,0.0414 -0.0109,0.0829 -0.017,0.12424 -0.0242,0.16423 -0.0499,0.32764 -0.0705,0.49241 -0.045,0.40417 -0.0604,0.81049 -0.0401,1.21652 0.0253,0.20004 0.0131,0.43713 0.22392,0.53186 0.0895,0.0144 0.17328,-0.0182 0.25167,-0.0596 0.0343,-0.0181 0.13274,-0.0799 0.0989,-0.061 -0.74193,0.41251 -0.9503,0.58735 -0.61586,0.32196 0.27678,-0.24812 0.50654,-0.54268 0.7304,-0.83786 0.22408,-0.32684 0.45997,-0.64485 0.69895,-0.96087 0.42548,-0.53819 0.40865,-0.5541 1.24509,-0.96634 0.0273,-0.0134 0.0466,0.0392 0.0699,0.0587 0.013,0.0406 0.0343,0.0795 0.0389,0.12194 0.0111,0.10066 -0.0313,0.33624 -0.0421,0.41539 -0.0147,0.10764 -0.0292,0.21531 -0.0429,0.32308 -0.0465,0.36577 -0.0625,0.51512 -0.10603,0.89247 -0.0866,0.74956 -0.11088,1.52332 0.0803,2.26081 0.12543,0.48398 0.19285,0.54654 0.42655,0.97477 0.0985,0.12568 0.18495,0.26177 0.29545,0.37703 0.32055,0.33438 0.73728,0.53981 1.18149,0.65355 0.40148,0.1028 0.63203,0.10323 1.04745,0.13733 0.82193,0.0385 1.63358,-0.0967 2.43826,-0.24393 0,0 -0.71533,0.53945 -0.71533,0.53945 v 0 c -0.81315,0.14399 -1.63323,0.27487 -2.46267,0.23244 -0.4262,-0.0372 -0.65962,-0.038 -1.07093,-0.14851 -0.4602,-0.12366 -0.88341,-0.34618 -1.20925,-0.69963 -0.11132,-0.12075 -0.19792,-0.26215 -0.29688,-0.39323 -0.084,-0.15716 -0.18161,-0.30779 -0.25207,-0.47148 -0.37925,-0.88104 -0.37327,-1.87245 -0.28766,-2.80889 0.051,-0.53827 0.1074,-1.07722 0.14623,-1.61613 -0.15101,0.29065 0.0106,-0.0283 0.77548,-0.45303 0.0309,-0.0172 -0.0501,0.0499 -0.0735,0.0765 -0.1012,0.11469 -0.18942,0.24052 -0.29286,0.35337 -0.23985,0.31735 -0.48561,0.63019 -0.70453,0.96275 -0.21986,0.29788 -0.44605,0.59345 -0.71112,0.85308 -0.37155,0.34178 -0.10866,0.11354 -1.05639,0.66055 -0.129,0.0745 -0.27473,0.10263 -0.41439,0.044 -0.23127,-0.15785 -0.23375,-0.3645 -0.25797,-0.62561 -0.0158,-0.41061 -0.005,-0.82096 0.0332,-1.23033 0.0173,-0.16335 0.0414,-0.32506 0.0616,-0.48791 0.005,-0.0406 0.0163,-0.20332 0.0223,-0.207 0.29056,-0.17927 0.60303,-0.32033 0.90455,-0.48049 -0.0554,0.0407 -0.0822,0.10591 -0.11924,0.16212 -0.0655,0.0993 -0.13892,0.19393 -0.18673,0.30401 -0.12948,0.23823 -0.23047,0.49043 -0.29756,0.75353 -0.0514,0.20083 -0.0843,0.40731 -0.16202,0.60034 -0.10106,0.21108 -0.19761,0.42257 -0.35458,0.60008 -0.1906,0.25784 -0.40624,0.49637 -0.65357,0.70145 -0.33138,0.28393 -0.67702,0.54985 -1.01727,0.82295 -0.14896,0.12927 -0.30164,0.27825 -0.47096,0.38145 -0.39649,0.24167 -0.79748,0.48778 -1.21325,0.69909 0,0 0.77327,-0.61854 0.77327,-0.61854 z"
         id="path852"
         style="opacity:1;fill:#007e7e;fill-opacity:0.43529412;stroke:none;stroke-width:0.26499999;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /&gt;
    &lt;/g&gt;
  &lt;/g&gt;
&lt;/svg&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="section" id="bonus-perpendicular-bisector-theorem"&gt;
&lt;h2&gt;Bonus (Perpendicular Bisector Theorem)&lt;/h2&gt;
&lt;p&gt;I don't remember why I made this, but I suspect it has something to do with Fortune's algorithm.&lt;/p&gt;
&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;!-- Created with Inkscape (http://www.inkscape.org/) --&gt;

&lt;svg
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:cc="http://creativecommons.org/ns#"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:svg="http://www.w3.org/2000/svg"
   xmlns="http://www.w3.org/2000/svg"
   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
   width="108.11876mm"
   height="108.13919mm"
   viewBox="0 0 108.11876 108.13919"
   version="1.1"
   id="svg8"
   inkscape:version="0.92.3 (2405546, 2018-03-11)"
   sodipodi:docname="perpendicularbisector.svg"&gt;
  &lt;defs
     id="defs2"&gt;
    &lt;clipPath
       clipPathUnits="userSpaceOnUse"
       id="clipPath1052"&gt;
      &lt;circle
         style="display:inline;opacity:1;fill:#555555;fill-opacity:0.57999998;stroke:none;stroke-width:1.26063788;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
         id="circle1054"
         cx="107.53423"
         cy="104.9881"
         r="54.617558"
         clip-path="none" /&gt;
    &lt;/clipPath&gt;
    &lt;clipPath
       clipPathUnits="userSpaceOnUse"
       id="clipPath1056"&gt;
      &lt;circle
         style="display:inline;opacity:1;fill:#555555;fill-opacity:0.57999998;stroke:none;stroke-width:1.26063788;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
         id="circle1058"
         cx="107.53423"
         cy="104.9881"
         r="54.617558"
         clip-path="none" /&gt;
    &lt;/clipPath&gt;
    &lt;clipPath
       clipPathUnits="userSpaceOnUse"
       id="clipPath1060"&gt;
      &lt;circle
         style="display:inline;opacity:1;fill:#555555;fill-opacity:0.57999998;stroke:none;stroke-width:1.26063788;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
         id="circle1062"
         cx="107.53423"
         cy="104.9881"
         r="54.617558"
         clip-path="none" /&gt;
    &lt;/clipPath&gt;
    &lt;clipPath
       clipPathUnits="userSpaceOnUse"
       id="clipPath1064"&gt;
      &lt;circle
         style="display:inline;opacity:1;fill:#555555;fill-opacity:0.57999998;stroke:none;stroke-width:1.26063788;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
         id="circle1066"
         cx="107.53423"
         cy="104.9881"
         r="54.617558"
         clip-path="none" /&gt;
    &lt;/clipPath&gt;
    &lt;clipPath
       clipPathUnits="userSpaceOnUse"
       id="clipPath1068"&gt;
      &lt;circle
         style="display:inline;opacity:1;fill:#555555;fill-opacity:0.57999998;stroke:none;stroke-width:4.76461554;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
         id="circle1070"
         cx="406.42859"
         cy="396.80542"
         r="206.42856"
         clip-path="none" /&gt;
    &lt;/clipPath&gt;
    &lt;clipPath
       clipPathUnits="userSpaceOnUse"
       id="clipPath1072"&gt;
      &lt;circle
         style="display:inline;opacity:1;fill:#555555;fill-opacity:0.57999998;stroke:none;stroke-width:4.76461554;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
         id="circle1074"
         cx="406.42859"
         cy="396.80542"
         r="206.42856"
         clip-path="none" /&gt;
    &lt;/clipPath&gt;
    &lt;clipPath
       clipPathUnits="userSpaceOnUse"
       id="clipPath1076"&gt;
      &lt;circle
         style="display:inline;opacity:1;fill:#555555;fill-opacity:0.57999998;stroke:none;stroke-width:4.76461554;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
         id="circle1078"
         cx="406.42859"
         cy="396.80542"
         r="206.42856"
         clip-path="none" /&gt;
    &lt;/clipPath&gt;
    &lt;clipPath
       clipPathUnits="userSpaceOnUse"
       id="clipPath1080"&gt;
      &lt;circle
         style="display:inline;opacity:1;fill:#555555;fill-opacity:0.57999998;stroke:none;stroke-width:4.76461554;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
         id="circle1082"
         cx="406.42859"
         cy="396.80542"
         r="206.42856"
         clip-path="none" /&gt;
    &lt;/clipPath&gt;
    &lt;clipPath
       clipPathUnits="userSpaceOnUse"
       id="clipPath1084"&gt;
      &lt;circle
         style="display:inline;opacity:1;fill:#555555;fill-opacity:0.57999998;stroke:none;stroke-width:4.76461554;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
         id="circle1086"
         cx="406.42859"
         cy="396.80542"
         r="206.42856"
         clip-path="none" /&gt;
    &lt;/clipPath&gt;
    &lt;clipPath
       clipPathUnits="userSpaceOnUse"
       id="clipPath1088"&gt;
      &lt;circle
         style="display:inline;opacity:1;fill:#555555;fill-opacity:0.57999998;stroke:none;stroke-width:4.76461554;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
         id="circle1090"
         cx="406.42859"
         cy="396.80542"
         r="206.42856"
         clip-path="none" /&gt;
    &lt;/clipPath&gt;
    &lt;clipPath
       clipPathUnits="userSpaceOnUse"
       id="clipPath1092"&gt;
      &lt;circle
         style="display:inline;opacity:1;fill:#555555;fill-opacity:0.57999998;stroke:none;stroke-width:4.76461554;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
         id="circle1094"
         cx="406.42859"
         cy="396.80542"
         r="206.42856"
         clip-path="none" /&gt;
    &lt;/clipPath&gt;
    &lt;clipPath
       clipPathUnits="userSpaceOnUse"
       id="clipPath1096"&gt;
      &lt;circle
         style="display:inline;opacity:1;fill:#555555;fill-opacity:0.57999998;stroke:none;stroke-width:4.76461554;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
         id="circle1098"
         cx="406.42859"
         cy="396.80542"
         r="206.42856"
         clip-path="none" /&gt;
    &lt;/clipPath&gt;
    &lt;clipPath
       clipPathUnits="userSpaceOnUse"
       id="clipPath1100"&gt;
      &lt;circle
         style="display:inline;opacity:1;fill:#555555;fill-opacity:0.57999998;stroke:none;stroke-width:4.76461554;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
         id="circle1102"
         cx="406.42859"
         cy="396.80542"
         r="206.42856"
         clip-path="none" /&gt;
    &lt;/clipPath&gt;
    &lt;clipPath
       clipPathUnits="userSpaceOnUse"
       id="clipPath1104"&gt;
      &lt;circle
         style="display:inline;opacity:1;fill:#555555;fill-opacity:0.57999998;stroke:none;stroke-width:4.76461554;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
         id="circle1106"
         cx="406.42859"
         cy="396.80542"
         r="206.42856"
         clip-path="none" /&gt;
    &lt;/clipPath&gt;
    &lt;clipPath
       clipPathUnits="userSpaceOnUse"
       id="clipPath1108"&gt;
      &lt;circle
         style="display:inline;opacity:1;fill:#555555;fill-opacity:0.57999998;stroke:none;stroke-width:4.76461554;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
         id="circle1110"
         cx="406.42859"
         cy="396.80542"
         r="206.42856"
         clip-path="none" /&gt;
    &lt;/clipPath&gt;
    &lt;clipPath
       clipPathUnits="userSpaceOnUse"
       id="clipPath1112"&gt;
      &lt;circle
         style="display:inline;opacity:1;fill:#555555;fill-opacity:0.57999998;stroke:none;stroke-width:4.76461554;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
         id="circle1114"
         cx="406.42859"
         cy="396.80542"
         r="206.42856"
         clip-path="none" /&gt;
    &lt;/clipPath&gt;
  &lt;/defs&gt;
  &lt;sodipodi:namedview
     id="base"
     pagecolor="#ffffff"
     bordercolor="#666666"
     borderopacity="1.0"
     inkscape:pageopacity="0.0"
     inkscape:pageshadow="2"
     inkscape:zoom="1.979899"
     inkscape:cx="294.58155"
     inkscape:cy="205.85832"
     inkscape:document-units="mm"
     inkscape:current-layer="layer2"
     showgrid="false"
     inkscape:window-width="1920"
     inkscape:window-height="1062"
     inkscape:window-x="1920"
     inkscape:window-y="18"
     inkscape:window-maximized="0" /&gt;
  &lt;metadata
     id="metadata5"&gt;
    &lt;rdf:RDF&gt;
      &lt;cc:Work
         rdf:about=""&gt;
        &lt;dc:format&gt;image/svg+xml&lt;/dc:format&gt;
        &lt;dc:type
           rdf:resource="http://purl.org/dc/dcmitype/StillImage" /&gt;
        &lt;dc:title /&gt;
      &lt;/cc:Work&gt;
    &lt;/rdf:RDF&gt;
  &lt;/metadata&gt;
  &lt;g
     inkscape:label="Layer 1"
     inkscape:groupmode="layer"
     id="layer1"
     style="display:none"
     transform="translate(-53.477744,-50.918311)"&gt;
    &lt;path
       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
       d="M 42.333333,110.09077 107.53422,104.7991 115.8497,44.322916"
       id="path901"
       inkscape:connector-curvature="0"
       sodipodi:nodetypes="ccc" /&gt;
    &lt;path
       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
       d="M 64.066963,70.214284 156.10416,80.419642 69.736605,145.43155 Z"
       id="path884"
       inkscape:connector-curvature="0" /&gt;
    &lt;path
       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
       d="m 107.53422,104.7991 39.49852,53.48364"
       id="path903"
       inkscape:connector-curvature="0"
       sodipodi:nodetypes="cc" /&gt;
    &lt;path
       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
       d="M 64.066962,70.214283 107.53422,104.7991 69.736605,145.43155"
       id="path905"
       inkscape:connector-curvature="0" /&gt;
    &lt;path
       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
       d="M 107.53422,104.7991 156.10416,80.41964"
       id="path907"
       inkscape:connector-curvature="0" /&gt;
  &lt;/g&gt;
  &lt;g
     inkscape:groupmode="layer"
     id="layer2"
     inkscape:label="Layer 2"
     style="display:inline"
     transform="translate(-53.477744,-50.918311)"&gt;
    &lt;path
       style="display:inline;opacity:1;fill:#ff9f5e;fill-opacity:1;stroke:none;stroke-width:1.34983134;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
       d="m 253.40225,403.40706 c -0.47007,-4.84561 -9.67815,-127.34929 -9.67815,-128.75748 0,-0.78652 3.48287,-2.04774 5.45154,-1.97411 1.23139,0.046 153.88492,121.69992 153.49763,122.32656 -0.41489,0.6713 3.27834,0.34445 -76.80631,6.79752 -36.33929,2.92815 -67.41294,5.48743 -69.05256,5.68729 l -2.98112,0.36336 z"
       id="path909"
       inkscape:connector-curvature="0"
       transform="matrix(0.25048724,0,0,0.25048724,4.4992633,5.1191097)"
       clip-path="url(#clipPath1112)" /&gt;
    &lt;path
       style="display:inline;opacity:1;fill:#ff9f5e;fill-opacity:1;stroke:none;stroke-width:1.34983134;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
       d="m 268.36696,539.24798 c -1.17857,-0.74138 -2.70536,-1.34965 -3.39286,-1.35172 -0.6875,-0.002 -1.2757,-0.0841 -1.30712,-0.18233 -0.21607,-0.67552 -9.78448,-128.07507 -9.63069,-128.22885 0.10692,-0.10693 31.82149,-2.74924 70.47683,-5.8718 38.65532,-3.12256 71.96991,-5.87099 74.03241,-6.10763 3.09311,-0.35487 3.75,-0.23668 3.75,0.67471 0,0.90195 -117.21699,127.80931 -128.47823,139.09957 l -3.30748,3.316 z"
       id="path911"
       inkscape:connector-curvature="0"
       transform="matrix(0.24655638,0,0,0.24655638,6.4456767,7.7310538)"
       clip-path="url(#clipPath1108)" /&gt;
    &lt;path
       style="display:inline;opacity:1;fill:#87ff7d;fill-opacity:1;stroke:none;stroke-width:1.34983134;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
       d="m 328.24047,332.81175 c -41.57329,-33.05139 -76.00641,-60.48434 -76.51804,-60.9621 -0.74713,-0.69767 -0.75714,-1.24862 -0.0508,-2.79875 0.70639,-1.55035 1.24075,-1.86047 2.71597,-1.57627 1.0101,0.19459 38.80084,4.43058 83.97941,9.41329 45.17857,4.98271 82.19201,9.09534 82.25208,9.13917 0.0601,0.0438 -3.15773,23.80963 -7.1507,52.8129 -5.98837,43.49719 -7.46836,52.84985 -8.45,53.39921 -0.95335,0.53351 -16.22626,-11.28799 -76.77787,-59.42745 z"
       id="path913"
       inkscape:connector-curvature="0"
       transform="matrix(0.24746111,0,0,0.24746111,6.7027679,5.7106804)"
       clip-path="url(#clipPath1104)" /&gt;
    &lt;path
       style="display:inline;opacity:1;fill:#87ff7d;fill-opacity:1;stroke:none;stroke-width:1.34983134;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
       d="m 408.83182,392.2599 c -0.78963,-0.5004 0.33761,-10.06604 6.24046,-52.95571 3.96229,-28.78974 7.36329,-52.50412 7.55778,-52.69861 0.33344,-0.33344 148.88552,15.8667 155.01264,16.90469 2.36415,0.40051 2.90158,0.79616 3.06356,2.2554 0.18577,1.67349 -4.41884,4.08958 -84.70992,44.44826 -46.6985,23.47321 -85.19761,42.67365 -85.55358,42.66763 -0.35598,-0.006 -1.0809,-0.28576 -1.61094,-0.62166 z"
       id="path915"
       inkscape:connector-curvature="0"
       transform="matrix(0.24143005,0,0,0.24143005,9.8730045,8.0085559)"
       clip-path="url(#clipPath1100)" /&gt;
    &lt;path
       style="display:inline;opacity:1;fill:#57ffff;fill-opacity:1;stroke:none;stroke-width:1.34983134;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
       d="m 419.60281,412.49698 c -7.64711,-10.34106 -8.68033,-12.06565 -8.23776,-13.75 0.27833,-1.05925 0.42246,-2.4776 0.32029,-3.15189 -0.14622,-0.96505 17.57141,-10.10863 83.24793,-42.96197 45.88853,-22.95481 83.53544,-41.64065 83.6598,-41.52411 0.1957,0.1834 -149.64351,113.21206 -150.08236,113.21206 -0.0903,0 -4.09881,-5.32084 -8.9079,-11.82409 z"
       id="path925"
       inkscape:connector-curvature="0"
       transform="matrix(0.25549353,0,0,0.25549353,3.9457193,3.5713041)"
       clip-path="url(#clipPath1096)" /&gt;
    &lt;path
       style="display:inline;opacity:1;fill:#57ffff;fill-opacity:1;stroke:none;stroke-width:1.34983134;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
       d="m 273.7241,540.4396 c 0,-0.37497 118.73895,-128.42495 126.71094,-136.6471 2.82513,-2.91379 3.05401,-3.00849 6.03908,-2.4989 3.02082,0.51569 3.33382,0.84182 11.8666,12.36456 l 8.76392,11.8349 -73.92689,55.65787 c -84.73932,63.7983 -79.45365,59.85411 -79.45365,59.28867 z"
       id="path927"
       inkscape:connector-curvature="0"
       transform="matrix(0.24264751,0,0,0.24264751,8.7475829,9.5270964)"
       clip-path="url(#clipPath1092)" /&gt;
    &lt;path
       style="display:inline;opacity:1;fill:#d5d5d5;fill-opacity:1;stroke:none;stroke-width:1.34983134;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
       d="m 396.58124,601.03171 c -35.62402,-2.34908 -65.92583,-11.5553 -95.15053,-28.90838 -8.04654,-4.77789 -14.4771,-9.28284 -23.069,-16.16107 l -5.71953,-4.57875 0.36239,-3.99945 0.36239,-3.99943 77.14286,-58.08994 c 42.42857,-31.94946 77.35649,-58.01555 77.6176,-57.92463 0.53598,0.18661 99.13522,133.53536 99.15523,134.10067 0.0212,0.60011 -14.86378,10.25343 -21.90638,14.20687 -21.86108,12.27193 -47.64383,20.63684 -73.79503,23.94193 -8.50055,1.07433 -28.11922,1.8659 -35,1.41218 z"
       id="path929"
       inkscape:connector-curvature="0"
       transform="scale(0.26458333)"
       clip-path="url(#clipPath1088)" /&gt;
    &lt;path
       style="display:inline;opacity:1;fill:#d5d5d5;fill-opacity:1;stroke:none;stroke-width:1.34983134;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
       d="m 479.19544,493.26101 c -27.04434,-36.68611 -49.22291,-66.91003 -49.28572,-67.16428 -0.0628,-0.25425 34.38344,-26.42497 76.54721,-58.15716 l 76.66139,-57.6949 2.62432,1.36193 c 1.44883,0.75189 3.6122,1.25523 4.8298,1.12373 2.15968,-0.23324 2.26003,-0.10422 4.83168,6.21199 11.10257,27.26892 16.22395,55.61145 15.23398,84.30732 -1.77558,51.46851 -21.74258,98.64841 -57.22713,135.22159 -9.10034,9.37954 -22.89973,21.58737 -24.32973,21.52364 -0.39285,-0.0175 -22.84147,-30.04774 -49.8858,-66.73386 z"
       id="path931"
       inkscape:connector-curvature="0"
       transform="scale(0.26458333)"
       clip-path="url(#clipPath1084)" /&gt;
    &lt;path
       style="display:inline;opacity:1;fill:#d5d5d5;fill-opacity:1;stroke:none;stroke-width:1.34983134;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
       d="m 501.2241,293.34361 -77.85714,-8.66557 -0.17694,-1.78563 c -0.20995,-2.11871 11.53398,-87.66647 12.11447,-88.24697 0.65858,-0.65857 21.08898,3.71307 30.05831,6.43179 16.81891,5.09805 34.47034,13.07475 49.07559,22.17733 24.83535,15.47839 49.90976,40.5635 65.60705,65.63504 l 3.82135,6.10341 -1.49992,2.42691 c -0.82495,1.3348 -1.49991,2.95147 -1.49991,3.5926 0,0.64113 -0.40179,1.12766 -0.89286,1.08118 -0.49107,-0.0465 -35.92857,-3.98403 -78.75,-8.75009 z"
       id="path933"
       inkscape:connector-curvature="0"
       transform="scale(0.26458333)"
       clip-path="url(#clipPath1080)" /&gt;
    &lt;path
       style="display:inline;opacity:1;fill:#d5d5d5;fill-opacity:1;stroke:none;stroke-width:1.34983134;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
       d="m 336.2241,274.99498 c -44.78571,-5.04129 -81.83036,-9.18384 -82.32143,-9.20566 -0.49638,-0.0221 -0.89285,-0.9446 -0.89285,-2.07754 0,-5.12407 25.23834,-27.72837 44.43038,-39.79333 36.33142,-22.83953 79.25301,-33.80706 121.53623,-31.05551 7.12908,0.46392 13.2535,1.12868 13.60983,1.47725 0.5327,0.5211 -10.13349,82.47798 -11.50131,88.37374 -0.25243,1.08802 -0.86696,1.58128 -1.90257,1.52709 -0.84134,-0.044 -38.17256,-4.20474 -82.95828,-9.24604 z"
       id="path935"
       inkscape:connector-curvature="0"
       transform="scale(0.26458333)"
       clip-path="url(#clipPath1076)" /&gt;
    &lt;path
       style="display:inline;opacity:1;fill:#d5d5d5;fill-opacity:1;stroke:none;stroke-width:1.34983134;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
       d="m 202.50529,393.27838 c 0.38511,-18.6203 1.03715,-24.9154 4.10261,-39.60826 5.31103,-25.45604 17.17951,-52.46895 32.83049,-74.7229 l 2.5,-3.55472 0.21868,2.14285 c 0.38618,3.78425 9.91583,129.99472 9.82633,130.13967 -0.0474,0.0768 -11.28597,1.05403 -24.97452,2.17159 l -24.88827,2.03194 z"
       id="path937"
       inkscape:connector-curvature="0"
       transform="scale(0.26458333)"
       clip-path="url(#clipPath1072)" /&gt;
    &lt;path
       style="display:inline;opacity:1;fill:#d5d5d5;fill-opacity:1;stroke:none;stroke-width:1.34983134;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
       d="m 255.09678,534.1544 c -26.91537,-30.237 -43.63004,-64.70889 -50.3119,-103.7619 -1.17095,-6.84374 -2.17254,-16.75403 -1.7013,-16.83351 1.10488,-0.18635 48.88085,-4.07439 48.97754,-3.98583 0.31126,0.2851 9.57191,125.8084 9.38032,127.14533 -0.39368,2.74707 -2.30427,1.97493 -6.34466,-2.56409 z"
       id="path939"
       inkscape:connector-curvature="0"
       transform="scale(0.26458333)"
       clip-path="url(#clipPath1068)" /&gt;
    &lt;ellipse
       style="display:inline;opacity:1;fill:#8ca1db;fill-opacity:1;stroke:none;stroke-width:0.02600591;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
       id="path817"
       cx="107.66135"
       cy="104.98312"
       rx="1.1237656"
       ry="1.1296715"
       clip-path="url(#clipPath1064)"
       transform="translate(-0.07087054,-0.07087054)" /&gt;
    &lt;circle
       style="display:inline;opacity:1;fill:#8ca1db;fill-opacity:1;stroke:none;stroke-width:0.98604035;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
       id="path821"
       cx="156.03036"
       cy="80.237617"
       r="1.9487566"
       clip-path="url(#clipPath1060)" /&gt;
    &lt;circle
       style="display:inline;opacity:1;fill:#8ca1db;fill-opacity:1;stroke:none;stroke-width:0.79878891;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
       id="path821-3"
       cx="64.988274"
       cy="70.403275"
       r="1.578683"
       clip-path="url(#clipPath1056)" /&gt;
    &lt;circle
       style="display:inline;opacity:1;fill:#8ca1db;fill-opacity:1;stroke:none;stroke-width:0.88843739;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
       id="path821-3-6"
       cx="69.91378"
       cy="144.52203"
       r="1.7558594"
       clip-path="url(#clipPath1052)" /&gt;
    &lt;g
       id="g857"
       style="fill:#007e7e;fill-opacity:0.43529412"
       transform="matrix(0.66303485,0,0,0.66303485,8.8323688,39.616969)"&gt;
      &lt;path
         inkscape:connector-curvature="0"
         d="m 172.47829,163.02859 c -0.11232,0.0325 -0.31743,0.13622 -0.43154,0.0724 -0.0238,-0.0133 -0.0405,-0.0364 -0.0608,-0.0547 -0.0965,-0.14163 -0.11129,-0.32267 -0.0955,-0.48922 0.0235,-0.0814 0.0617,-0.18739 0.14165,-0.23313 0.90259,-0.51642 0.5678,-0.47677 0.9893,-0.51332 0.23354,-0.0293 0.45372,0.0309 0.67304,0.10387 0.312,0.11504 0.61641,0.24626 0.93833,0.33164 0.33965,0.0731 0.6884,0.1005 1.0352,0.0879 0.36181,-0.0259 0.70361,-0.14291 1.03564,-0.28128 0.29707,-0.14008 1.0005,-0.5276 -0.29984,0.19325 -0.058,0.0321 0.11296,-0.0693 0.16924,-0.10431 0.18173,-0.11293 0.13855,-0.0861 0.31532,-0.20238 0.2523,-0.16809 0.50748,-0.3314 0.74686,-0.51773 0.11493,-0.0959 0.23018,-0.19242 0.33329,-0.30121 0.0116,-0.0122 0.0181,-0.0311 0.0336,-0.0378 0.29846,-0.12891 0.60242,-0.24466 0.90364,-0.36699 -0.0909,0.50551 -0.30929,0.98078 -0.52143,1.44493 -0.41723,0.85483 -0.92665,1.6713 -1.54201,2.39856 -0.14596,0.1725 -0.30316,0.33518 -0.45474,0.50277 -0.49469,0.49976 -1.02698,0.96452 -1.61125,1.35764 -0.49551,0.3334 -1.50645,0.87261 -1.89674,1.06646 -0.16988,0.0844 -0.35365,0.13727 -0.53047,0.20591 -0.52894,0.18021 -1.08079,0.3103 -1.64314,0.28017 -0.23935,-0.0128 -0.30225,-0.035 -0.52581,-0.0836 -0.27875,-0.0677 -0.52015,-0.20607 -0.73634,-0.39038 0,0 0.83202,-0.51901 0.83202,-0.51901 v 0 c 0.2031,0.17308 0.43351,0.29702 0.6947,0.36032 0.21352,0.0454 0.27196,0.0661 0.50109,0.0763 0.54517,0.0242 1.07937,-0.10836 1.59115,-0.2843 0.17261,-0.0685 0.33368,-0.18155 0.51784,-0.2055 0.0872,-0.0113 -0.28491,0.20324 -0.20579,0.16492 0.20239,-0.0981 0.39138,-0.2223 0.5793,-0.34585 0.58587,-0.38518 1.11836,-0.84498 1.6141,-1.3392 0.15117,-0.16522 0.30805,-0.32537 0.4535,-0.49564 0.60857,-0.71242 1.10993,-1.51641 1.5123,-2.36101 0.20013,-0.44521 0.38583,-0.89658 0.49058,-1.37505 0.29818,-0.15773 0.59387,-0.32025 0.89454,-0.47319 0.0166,-0.008 -0.0276,0.0251 -0.0403,0.0387 -0.0219,0.0232 -0.0411,0.0488 -0.0634,0.0716 -0.0851,0.087 -0.18022,0.16401 -0.27052,0.24526 -0.23695,0.19585 -0.49579,0.36019 -0.75223,0.52904 -0.5895,0.39931 -1.2038,0.77149 -1.85159,1.06743 -0.34034,0.13313 -0.69128,0.24197 -1.05963,0.25503 -0.3529,0.001 -0.70693,-0.0265 -1.05044,-0.11161 -0.3217,-0.0924 -0.62883,-0.22393 -0.94584,-0.33045 -0.21445,-0.0627 -0.43056,-0.10641 -0.65351,-0.0589 -0.36612,0.10843 -0.0616,0.0243 0.72545,-0.44421 0.0157,-0.009 -0.0345,0.0122 -0.0502,0.0215 -0.0554,0.0327 -0.1,0.0816 -0.12786,0.13906 -0.0334,0.12257 -0.0226,0.2818 0.0453,0.39164 0.12346,0.0528 0.31562,-0.063 0.43227,-0.10152 0,0 -0.77829,0.6151 -0.77829,0.6151 z"
         id="path844"
         style="opacity:1;fill:#007e7e;fill-opacity:0.43529412;stroke:none;stroke-width:0.26499999;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /&gt;
      &lt;path
         inkscape:connector-curvature="0"
         d="m 171.26453,167.22954 c 0.30256,0.0336 0.60424,0.0722 0.90788,0.0956 0.44492,0.0263 0.89097,0.0375 1.33649,0.025 0.54875,-0.0105 1.09167,-0.0979 1.63596,-0.15988 0.62735,-0.0862 1.25744,-0.1586 1.88004,-0.27508 0.47631,-0.10186 0.9544,-0.1969 1.41597,-0.3549 0.31252,-0.14938 0.89205,-0.44717 -0.52513,0.30984 -0.029,0.0155 0.0517,-0.0408 0.0753,-0.0637 0.0626,-0.0607 0.0731,-0.0831 0.1219,-0.15347 0.12661,-0.19429 0.16036,-0.42002 0.18283,-0.64582 0.0141,-0.28233 -0.0411,-0.56094 -0.0747,-0.84 -0.0373,-0.2437 -0.0302,-0.48942 2.2e-4,-0.73317 0.0261,-0.25646 0.10198,-0.50013 0.18314,-0.74337 0.11655,-0.31233 0.28276,-0.6014 0.46605,-0.87856 0.16342,-0.2347 0.35074,-0.45082 0.55876,-0.6467 0.39485,-0.37265 0.88906,-0.59523 1.35827,-0.86584 0.27282,-0.12059 0.56084,-0.20027 0.84589,-0.28563 0.15518,-0.0416 0.30958,-0.0837 0.46625,-0.11933 0,0 -0.77543,0.59158 -0.77543,0.59158 v 0 c -0.15465,0.0386 -0.30867,0.0792 -0.46194,0.12303 -0.28539,0.0855 -0.57443,0.16976 -0.83944,0.30845 1.67037,-0.96823 0.69522,-0.43022 0.48139,-0.26896 -0.0587,0.0443 -0.10693,0.10144 -0.16617,0.1451 -0.21341,0.18884 -0.40671,0.39728 -0.57436,0.62841 -0.18686,0.26784 -0.35197,0.54934 -0.47407,0.85314 -0.0811,0.23726 -0.15981,0.47411 -0.18533,0.72499 -0.0406,0.23537 -0.0475,0.47535 -0.0166,0.71252 0.0324,0.28523 0.0879,0.5686 0.086,0.85667 -0.018,0.23559 -0.0423,0.47518 -0.159,0.68576 -0.27455,0.4865 -0.83854,0.70381 -1.34406,0.90234 -0.46029,0.13946 -0.9319,0.23308 -1.40284,0.32876 -0.6262,0.10964 -1.25768,0.18842 -1.8876,0.2734 -0.54697,0.0667 -1.09391,0.1464 -1.64581,0.15623 -0.45073,0.0104 -0.90196,0.002 -1.35198,-0.0263 -0.30947,-0.025 -0.6175,-0.0635 -0.92704,-0.0875 0,0 0.80925,-0.57272 0.80925,-0.57272 z"
         id="path850"
         style="opacity:1;fill:#007e7e;fill-opacity:0.43529412;stroke:none;stroke-width:0.26499999;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /&gt;
      &lt;path
         inkscape:connector-curvature="0"
         d="m 179.32607,165.96396 c 0.0338,-0.0166 0.0682,-0.0319 0.10129,-0.0497 0.0422,-0.0228 0.16617,-0.0958 0.12443,-0.0722 -0.23151,0.13102 -0.45884,0.26964 -0.69377,0.39442 -0.0563,0.0299 0.10543,-0.0715 0.15677,-0.10921 0.0542,-0.0398 0.10739,-0.0811 0.15984,-0.1233 0.0566,-0.0455 0.11151,-0.093 0.16727,-0.13957 0.33679,-0.27653 0.68298,-0.54107 1.01585,-0.82238 0.24352,-0.1993 0.45701,-0.4296 0.65009,-0.67716 0.14783,-0.17644 0.26073,-0.3725 0.35843,-0.57969 0.0859,-0.18469 0.12194,-0.38658 0.17072,-0.58303 0.0694,-0.2685 0.16906,-0.52748 0.29169,-0.77584 0.0727,-0.17186 0.19574,-0.31549 0.28091,-0.48016 0.29976,-0.1182 0.59013,-0.26378 0.89929,-0.35461 0.0302,-0.009 -0.007,0.0625 -0.0114,0.0937 -0.005,0.0414 -0.0109,0.0829 -0.017,0.12424 -0.0242,0.16423 -0.0499,0.32764 -0.0705,0.49241 -0.045,0.40417 -0.0604,0.81049 -0.0401,1.21652 0.0253,0.20004 0.0131,0.43713 0.22392,0.53186 0.0895,0.0144 0.17328,-0.0182 0.25167,-0.0596 0.0343,-0.0181 0.13274,-0.0799 0.0989,-0.061 -0.74193,0.41251 -0.9503,0.58735 -0.61586,0.32196 0.27678,-0.24812 0.50654,-0.54268 0.7304,-0.83786 0.22408,-0.32684 0.45997,-0.64485 0.69895,-0.96087 0.42548,-0.53819 0.40865,-0.5541 1.24509,-0.96634 0.0273,-0.0134 0.0466,0.0392 0.0699,0.0587 0.013,0.0406 0.0343,0.0795 0.0389,0.12194 0.0111,0.10066 -0.0313,0.33624 -0.0421,0.41539 -0.0147,0.10764 -0.0292,0.21531 -0.0429,0.32308 -0.0465,0.36577 -0.0625,0.51512 -0.10603,0.89247 -0.0866,0.74956 -0.11088,1.52332 0.0803,2.26081 0.12543,0.48398 0.19285,0.54654 0.42655,0.97477 0.0985,0.12568 0.18495,0.26177 0.29545,0.37703 0.32055,0.33438 0.73728,0.53981 1.18149,0.65355 0.40148,0.1028 0.63203,0.10323 1.04745,0.13733 0.82193,0.0385 1.63358,-0.0967 2.43826,-0.24393 0,0 -0.71533,0.53945 -0.71533,0.53945 v 0 c -0.81315,0.14399 -1.63323,0.27487 -2.46267,0.23244 -0.4262,-0.0372 -0.65962,-0.038 -1.07093,-0.14851 -0.4602,-0.12366 -0.88341,-0.34618 -1.20925,-0.69963 -0.11132,-0.12075 -0.19792,-0.26215 -0.29688,-0.39323 -0.084,-0.15716 -0.18161,-0.30779 -0.25207,-0.47148 -0.37925,-0.88104 -0.37327,-1.87245 -0.28766,-2.80889 0.051,-0.53827 0.1074,-1.07722 0.14623,-1.61613 -0.15101,0.29065 0.0106,-0.0283 0.77548,-0.45303 0.0309,-0.0172 -0.0501,0.0499 -0.0735,0.0765 -0.1012,0.11469 -0.18942,0.24052 -0.29286,0.35337 -0.23985,0.31735 -0.48561,0.63019 -0.70453,0.96275 -0.21986,0.29788 -0.44605,0.59345 -0.71112,0.85308 -0.37155,0.34178 -0.10866,0.11354 -1.05639,0.66055 -0.129,0.0745 -0.27473,0.10263 -0.41439,0.044 -0.23127,-0.15785 -0.23375,-0.3645 -0.25797,-0.62561 -0.0158,-0.41061 -0.005,-0.82096 0.0332,-1.23033 0.0173,-0.16335 0.0414,-0.32506 0.0616,-0.48791 0.005,-0.0406 0.0163,-0.20332 0.0223,-0.207 0.29056,-0.17927 0.60303,-0.32033 0.90455,-0.48049 -0.0554,0.0407 -0.0822,0.10591 -0.11924,0.16212 -0.0655,0.0993 -0.13892,0.19393 -0.18673,0.30401 -0.12948,0.23823 -0.23047,0.49043 -0.29756,0.75353 -0.0514,0.20083 -0.0843,0.40731 -0.16202,0.60034 -0.10106,0.21108 -0.19761,0.42257 -0.35458,0.60008 -0.1906,0.25784 -0.40624,0.49637 -0.65357,0.70145 -0.33138,0.28393 -0.67702,0.54985 -1.01727,0.82295 -0.14896,0.12927 -0.30164,0.27825 -0.47096,0.38145 -0.39649,0.24167 -0.79748,0.48778 -1.21325,0.69909 0,0 0.77327,-0.61854 0.77327,-0.61854 z"
         id="path852"
         style="opacity:1;fill:#007e7e;fill-opacity:0.43529412;stroke:none;stroke-width:0.26499999;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /&gt;
    &lt;/g&gt;
  &lt;/g&gt;
  &lt;g
     inkscape:groupmode="layer"
     id="layer3"
     inkscape:label="Layer 3"
     style="display:none"
     transform="translate(-53.477744,-50.918311)" /&gt;
&lt;/svg&gt;
&lt;/div&gt;
</content><category term="misc"></category><category term="math"></category><category term="art-maybe"></category><category term="proofs"></category></entry><entry><title>Some Notes on the Bonferroni Inequalities</title><link href="https://josephmckinsey.com/bonferroni-inequalities.html" rel="alternate"></link><published>2020-03-24T00:00:00-06:00</published><updated>2020-03-24T13:49:00-06:00</updated><author><name>Joseph McKinsey</name></author><id>tag:josephmckinsey.com,2020-03-24:/bonferroni-inequalities.html</id><summary type="html">&lt;p class="first last"&gt;Some Notes on the Bonferroni Inequality&lt;/p&gt;
</summary><content type="html">&lt;div class="section" id="introduction"&gt;
&lt;h2&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Let &lt;span class="math"&gt;\(E_1, \ldots, E_n\)&lt;/span&gt; be a list of events in a probability space
with sample space &lt;span class="math"&gt;\(\Omega\)&lt;/span&gt;. Most are aware of the result&lt;/p&gt;
&lt;div class="math"&gt;
\begin{equation*}
P(E_1 \cup \cdots \cup E_n) \leq P(E_1) + \cdots + P(E_n).
\end{equation*}
&lt;/div&gt;
&lt;p&gt;Fewer are aware of the principle of inclusion-exclusion. If you aren’t,
don’t fear—all will be revealed with the power of indicator functions.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="indicator-functions"&gt;
&lt;h2&gt;Indicator Functions&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Indicator Function&lt;/strong&gt;: Let &lt;span class="math"&gt;\(X \subseteq Y\)&lt;/span&gt;, then
&lt;span class="math"&gt;\(1_X : Y \to \{0, 1\}\)&lt;/span&gt; is the indicator function on &lt;span class="math"&gt;\(X\)&lt;/span&gt;
assigning &lt;span class="math"&gt;\(1\)&lt;/span&gt; to elements in &lt;span class="math"&gt;\(X\)&lt;/span&gt; and &lt;span class="math"&gt;\(0\)&lt;/span&gt; elsewhere.&lt;/p&gt;
&lt;p&gt;We can now rephrase the probability of an event &lt;span class="math"&gt;\(E\)&lt;/span&gt; as
&lt;span class="math"&gt;\(\mathbb{E}[1_{E_1}]\)&lt;/span&gt;. With a probability (density of mass)
function of &lt;span class="math"&gt;\(p(x)\)&lt;/span&gt;, we can interpret it in two ways. In terms of
integration, this is
&lt;span class="math"&gt;\(\int_\Omega 1_{E_1} p(x) \, \mathrm{d}x = \int_{E_1} p(x)
\, \mathrm{d}x\)&lt;/span&gt;. In terms of summations, this just becomes
&lt;span class="math"&gt;\(\sum_{x \in E_1} p(x)\)&lt;/span&gt;. With general measure theory, one defines
the integral accordingly &lt;span class="math"&gt;\(\int_\Omega 1_{E_1} \, \mathrm{d}
\mu = \mu(E_1) = P(E_1)\)&lt;/span&gt;. More importantly, indicator functions allow
one to prove many things in more general settings using the properties
of expectation.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Markov’s Inequality&lt;/strong&gt;: Let &lt;span class="math"&gt;\(X\)&lt;/span&gt; be a non-negative random variable.&lt;/p&gt;
&lt;div class="math"&gt;
\begin{equation*}
\frac{\mathbb{E}[x]}{\lambda} \geq P(X \geq \lambda)
\end{equation*}
&lt;/div&gt;
&lt;p&gt;Our event is &lt;span class="math"&gt;\(X \geq \lambda\)&lt;/span&gt;. Then note
&lt;span class="math"&gt;\(X \geq \lambda 1_{X \geq \lambda}\)&lt;/span&gt;. To see this is true, consider
all the possible values &lt;span class="math"&gt;\(X\)&lt;/span&gt; could be. If &lt;span class="math"&gt;\(X &amp;lt; \lambda\)&lt;/span&gt;, then
our indicator function is &lt;span class="math"&gt;\(0\)&lt;/span&gt;, so &lt;span class="math"&gt;\(X \geq 0\)&lt;/span&gt; is the trivial
statement. If &lt;span class="math"&gt;\(X \geq \lambda\)&lt;/span&gt;, then the indicator function is
&lt;span class="math"&gt;\(1\)&lt;/span&gt;, so we have &lt;span class="math"&gt;\(X \geq \lambda\)&lt;/span&gt;. This is again trivially
true. Taking expectation of both sides. We can use the linearity of
expectation to get
&lt;span class="math"&gt;\(\mathbb{E}[X] \geq \lambda E[1_{X \geq \lambda}]\)&lt;/span&gt; or
&lt;span class="math"&gt;\(\frac{\mathbb{E}[X]}{\lambda} \geq P(X \geq \lambda)\)&lt;/span&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="principle-of-inclusion-exclusion"&gt;
&lt;h2&gt;Principle of Inclusion-Exclusion&lt;/h2&gt;
&lt;p&gt;The principle of inclusion-exclusion is usually framed as a way to count
a union, which is easier to understand.&lt;/p&gt;
&lt;div class="section" id="as-counting"&gt;
&lt;h3&gt;As Counting&lt;/h3&gt;
&lt;p&gt;Say you are trying to count the size of a set
&lt;span class="math"&gt;\(E_1 \cup \dots \cup E_n\)&lt;/span&gt;. This might be computationally
expensive, but it might be much simpler to count the size of
intersections like &lt;span class="math"&gt;\(E_{i_1} \cap \cdots \cap E_{i_m}\)&lt;/span&gt;. We can
recover the size of the unions easily. First, we’ll tackle the
&lt;span class="math"&gt;\(n = 3\)&lt;/span&gt; case.&lt;/p&gt;
&lt;p&gt;We start by counting all the elements in &lt;span class="math"&gt;\(E_1\)&lt;/span&gt;, &lt;span class="math"&gt;\(E_2\)&lt;/span&gt;, and
&lt;span class="math"&gt;\(E_3\)&lt;/span&gt;. But since these sets might intersect, we need to remove
duplicates: &lt;span class="math"&gt;\(E_1 \cap E_2\)&lt;/span&gt;, &lt;span class="math"&gt;\(E_1
\cap E_3\)&lt;/span&gt;, and &lt;span class="math"&gt;\(E_2 \cap E_3\)&lt;/span&gt;. But this might remove too many,
because these sets might intersect. If any two intersect, we know that
element was contained in every set, so we added it &lt;span class="math"&gt;\(3\)&lt;/span&gt; times and
removed it &lt;span class="math"&gt;\(3\)&lt;/span&gt; times, so we only need to add it back in once.&lt;/p&gt;
&lt;p&gt;In the arbitrary case, we do the same thing. We add in sets, then
subtract intersections, add in more intersections, subtract, etc.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="as-indicator-functions"&gt;
&lt;h3&gt;As Indicator Functions&lt;/h3&gt;
&lt;p&gt;The counting approach has a few problems:&lt;/p&gt;
&lt;ol class="arabic simple"&gt;
&lt;li&gt;It’s hard to prove.&lt;/li&gt;
&lt;li&gt;It’s hard to generalize.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;We can rephrase and prove the principle with indicator functions. We
start with the easy fact that
&lt;span class="math"&gt;\(1_{E_1} \cdots 1_{E_n} = 1_{E_1 \cap \cdots \cap E_n}\)&lt;/span&gt;. Then let
&lt;span class="math"&gt;\(E = E_1 \cap \cdots \cap E_n\)&lt;/span&gt;, so
&lt;span class="math"&gt;\(1_E \cdot 1_{E_i} = 1_{E_i}\)&lt;/span&gt;. Lastly, we’ll need a little bit of
notation.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;:math:`A` and :math:`E_A`&lt;/strong&gt;: Let &lt;span class="math"&gt;\(A\)&lt;/span&gt; be a subset of
&lt;span class="math"&gt;\(\{1, \ldots, n\}\)&lt;/span&gt;. Now let &lt;span class="math"&gt;\(E_A = \bigcap_{i \in A} E_i\)&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;Then our adding and subtracting can easily be represented with sums over
subsets &lt;span class="math"&gt;\(A\)&lt;/span&gt; of a specific size:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Principle of Inclusion-Exclusion&lt;/strong&gt;&lt;/p&gt;
&lt;div class="math"&gt;
\begin{equation*}
1_E = \sum_{|A| = 1} 1_{E_A} - \sum_{|A| = 2} 1_{E_A} + \cdots - (-1)^n
  \sum_{|A| = n} 1_{E_A}
\end{equation*}
&lt;/div&gt;
&lt;p&gt;We start with the statement
&lt;span class="math"&gt;\((1_E - 1_{E_1}) \cdots (1_E - 1_{E_n}) = 0\)&lt;/span&gt;. Recall that the left
side is a function on &lt;span class="math"&gt;\(\Omega\)&lt;/span&gt;, so plugging in &lt;span class="math"&gt;\(x \in 1_E\)&lt;/span&gt;
tells us that &lt;span class="math"&gt;\(x \in E\)&lt;/span&gt;, so &lt;span class="math"&gt;\(x \in E_i\)&lt;/span&gt; for some &lt;span class="math"&gt;\(i\)&lt;/span&gt;.
Thus &lt;span class="math"&gt;\(1_E - 1_{E_i} = 0\)&lt;/span&gt;. If &lt;span class="math"&gt;\(x \not\in E\)&lt;/span&gt;, then
&lt;span class="math"&gt;\(x \not\in E_i\)&lt;/span&gt; for any &lt;span class="math"&gt;\(i\)&lt;/span&gt;, so &lt;span class="math"&gt;\(1_E - 1_{E_i} = 0\)&lt;/span&gt;.
Thus for all &lt;span class="math"&gt;\(x \in \Omega\)&lt;/span&gt;,
&lt;span class="math"&gt;\((1_E - 1_{E_1}) \cdots (1_E - 1_{E_n})(x) = 0(x) = 0\)&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;Now we can apply just expand our polynomial and get:&lt;/p&gt;
&lt;div class="math"&gt;
\begin{equation*}
1_E^n - 1_E^{n-1} (1_{E_1} + \cdots + 1_{E_n}) + \cdots - \cdots + (-1)^n 1_{E_1} \cdots 1_{E_n} = 0
\end{equation*}
&lt;/div&gt;
&lt;p&gt;One subtraction later and a little sum notation, and we’ve arrived at
our answer.&lt;/p&gt;
&lt;div class="math"&gt;
\begin{equation*}
1_E^n = \sum_{|A| = 1} 1_{E_A} - \cdots - (-1)^n \sum_{|A| = n} 1_{E_A}
\end{equation*}
&lt;/div&gt;
&lt;p&gt;By summing over both sides over &lt;span class="math"&gt;\(x \in X\)&lt;/span&gt;, we get&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Counting Version&lt;/strong&gt;&lt;/p&gt;
&lt;div class="math"&gt;
\begin{equation*}
|E_1 \cup \cdots \cap E_n| = |E_1| + \cdots + |E_n| - |E_1 \cap E_2| - \cdots
  + \cdots - (-1)^n |E_1 \cap \cdots \cap E_n|.
\end{equation*}
&lt;/div&gt;
&lt;p&gt;Now we take the expectation as well to get&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Probability Version&lt;/strong&gt;&lt;/p&gt;
&lt;div class="math"&gt;
\begin{equation*}
P(E_1 \cup \cdots \cap E_n) = P(E_1) + \cdots + P(E_n) - P(E_1 \cap E_2) - \cdots
  + \cdots - (-1)^n P(E_1 \cap \cdots \cap E_n).
\end{equation*}
&lt;/div&gt;
&lt;p&gt;But even better than this is that we can reason about the indicator’s
functions values with combinatorics.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="section" id="leading-up-to-the-bonferroni-inequalities"&gt;
&lt;h2&gt;Leading up to the Bonferroni Inequalities&lt;/h2&gt;
&lt;p&gt;Let’s say we truncated our expanded polynomial from earlier at &lt;span class="math"&gt;\(k\)&lt;/span&gt;
terms, giving us&lt;/p&gt;
&lt;div class="math"&gt;
\begin{equation*}
f = 1_E - \sum_{|A| = 1} 1_{E_A} + \cdots + (-1)^k \sum_{|A| = k} 1_{E_A}.
\end{equation*}
&lt;/div&gt;
&lt;p&gt;This is not going to be &lt;span class="math"&gt;\(0\)&lt;/span&gt; anymore. If we choose &lt;span class="math"&gt;\(k = 1\)&lt;/span&gt;,
then anything in the intersection will be &lt;span class="math"&gt;\((-1)^k\)&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;To evaluate this more easily, notice that for any given &lt;span class="math"&gt;\(x \in X\)&lt;/span&gt;,
each term of &lt;span class="math"&gt;\(f(x)\)&lt;/span&gt; only depends on how many of
&lt;span class="math"&gt;\(E_1, \cdots E_n\)&lt;/span&gt; that &lt;span class="math"&gt;\(x\)&lt;/span&gt; is in. By summing over all
different combinations, we lose information about which subset that
&lt;span class="math"&gt;\(x\)&lt;/span&gt; was in.&lt;/p&gt;
&lt;p&gt;Let &lt;span class="math"&gt;\(B\)&lt;/span&gt; be all the &lt;span class="math"&gt;\(i\)&lt;/span&gt; such that &lt;span class="math"&gt;\(x \in E_i\)&lt;/span&gt;.
Examining the term &lt;span class="math"&gt;\(\sum_{|A| =
i} 1_{E_A}(x)\)&lt;/span&gt;, each &lt;span class="math"&gt;\(1_{E_A}\)&lt;/span&gt; is &lt;span class="math"&gt;\(1\)&lt;/span&gt; iff
&lt;span class="math"&gt;\(A \subset B\)&lt;/span&gt;. If &lt;span class="math"&gt;\(A \not\subseteq B\)&lt;/span&gt;, one element of
&lt;span class="math"&gt;\(A\)&lt;/span&gt; has &lt;span class="math"&gt;\(x \not\in i\)&lt;/span&gt;, so &lt;span class="math"&gt;\(x \not\in E_A\)&lt;/span&gt;. If
&lt;span class="math"&gt;\(A \subset B\)&lt;/span&gt;, then &lt;span class="math"&gt;\(x \in E_A\)&lt;/span&gt;, so the indicator function
holds. Thus &lt;span class="math"&gt;\(\sum_{|A| = i} 1_{E_A}\)&lt;/span&gt; is precisely the number of
subsets of size &lt;span class="math"&gt;\(i\)&lt;/span&gt; contained in &lt;span class="math"&gt;\(B\)&lt;/span&gt;. If &lt;span class="math"&gt;\(|B| = m\)&lt;/span&gt;,
then this term is &lt;span class="math"&gt;\(\binom{m}{i}\)&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;So then for &lt;span class="math"&gt;\(x\)&lt;/span&gt; in precisely &lt;span class="math"&gt;\(m\)&lt;/span&gt; &lt;span class="math"&gt;\(E_i\)&lt;/span&gt;,&lt;/p&gt;
&lt;div class="math"&gt;
\begin{equation*}
f(x) = \binom{m}{0} - \binom{m}{1} + \cdots + (-1)^k \binom{m}{k}.
\end{equation*}
&lt;/div&gt;
&lt;p&gt;There is the slight caveat that once &lt;span class="math"&gt;\(k &amp;gt; m\)&lt;/span&gt;, &lt;span class="math"&gt;\(x\)&lt;/span&gt; is not in
any intersection of &lt;span class="math"&gt;\(k\)&lt;/span&gt; subsets. So we take
&lt;span class="math"&gt;\(\binom{m}{k} = 0\)&lt;/span&gt; when &lt;span class="math"&gt;\(k &amp;gt; m\)&lt;/span&gt;. This just means that adding
extra terms doesn’t really improve the situation. From now on, we will
assume &lt;span class="math"&gt;\(k \leq m\)&lt;/span&gt;.&lt;/p&gt;
&lt;div class="section" id="counting-with-inversions"&gt;
&lt;h3&gt;Counting with Inversions&lt;/h3&gt;
&lt;p&gt;We will find a closed form expression of &lt;span class="math"&gt;\(f\)&lt;/span&gt; by pairing adjacent
terms in such a way that they cancel each other out. We’ll need a
perculiar function first.&lt;/p&gt;
&lt;p&gt;Let
&lt;span class="math"&gt;\(i : \mathcal{P}(\{1, \ldots, m\}) \to \mathcal{P}(\{1, \cdots, m\})\)&lt;/span&gt;
where &lt;span class="math"&gt;\(\mathcal{P}(S)\)&lt;/span&gt; is the power-set of &lt;span class="math"&gt;\(S\)&lt;/span&gt;. We define
&lt;span class="math"&gt;\(i\)&lt;/span&gt; as follows:&lt;/p&gt;
&lt;div class="math"&gt;
\begin{equation*}
i(A) = \begin{cases}
      A \cup \{m\} &amp;amp; \text{if } m \not\in A \\
  A - \{m\} &amp;amp; \text{if } m \in A
  \end{cases}.
\end{equation*}
&lt;/div&gt;
&lt;p&gt;Since &lt;span class="math"&gt;\(i^2(A)\)&lt;/span&gt; first adds &lt;span class="math"&gt;\(n\)&lt;/span&gt; then subtracts &lt;span class="math"&gt;\(n\)&lt;/span&gt; if
&lt;span class="math"&gt;\(n \not\in A\)&lt;/span&gt;, or subtracts &lt;span class="math"&gt;\(n\)&lt;/span&gt; then adds &lt;span class="math"&gt;\(n\)&lt;/span&gt; if
&lt;span class="math"&gt;\(n \in A\)&lt;/span&gt;, &lt;span class="math"&gt;\(i^2(A) = A\)&lt;/span&gt;. This fact is why we calll &lt;span class="math"&gt;\(i\)&lt;/span&gt;
an inversion. It also implies that &lt;span class="math"&gt;\(i\)&lt;/span&gt; is bijective.&lt;/p&gt;
&lt;p&gt;But the really crucial property is that &lt;span class="math"&gt;\(i\)&lt;/span&gt; takes subsets of
&lt;span class="math"&gt;\(\{1, \ldots, m\}\)&lt;/span&gt; from one term of &lt;span class="math"&gt;\(f\)&lt;/span&gt; to another. A term
of &lt;span class="math"&gt;\(f(x)\)&lt;/span&gt;, say &lt;span class="math"&gt;\(\binom{m}{i}\)&lt;/span&gt;, counts the number of subsets
of a given size. Since &lt;span class="math"&gt;\(i(A)\)&lt;/span&gt; has either one more or one less
element of &lt;span class="math"&gt;\(A\)&lt;/span&gt;, counting the subset associated to &lt;span class="math"&gt;\(i(A)\)&lt;/span&gt;
cancels with the counting the subset &lt;span class="math"&gt;\(A\)&lt;/span&gt; since adjacent terms are
off by a &lt;span class="math"&gt;\(-1\)&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;There is one exception. When we are looking at the subsets counted in
the last term, &lt;span class="math"&gt;\(\binom{m}{k}\)&lt;/span&gt;, we may try to pair it with subsets
that are one larger. Sadly those subsets are not being counted in
&lt;span class="math"&gt;\(f\)&lt;/span&gt;. Luckily we can still count them. They are all the subsets not
containing &lt;span class="math"&gt;\(n\)&lt;/span&gt; but still of size &lt;span class="math"&gt;\(k\)&lt;/span&gt;. In other terms,&lt;/p&gt;
&lt;div class="math"&gt;
\begin{equation*}
f(x) = (-1)^k \binom{m-1}{k}.
\end{equation*}
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="section" id="the-bonferroni-inequalities"&gt;
&lt;h2&gt;The Bonferroni Inequalities&lt;/h2&gt;
&lt;p&gt;Now that we have done all the counting inversion business, we really
only need the sign:&lt;/p&gt;
&lt;div class="math"&gt;
\begin{equation*}
f = 1_E - \sum_{|A| = 1} 1_{E_A} + \cdots + (-1)^k \sum_{|A| = k}
  1_{E_A} \begin{cases}
  \geq 0 &amp;amp; \text{if } k \text{ is even} \\
  \leq 0 &amp;amp; \text{if } k \text{ is odd} \\
  \end{cases}.
\end{equation*}
&lt;/div&gt;
&lt;p&gt;This gives us&lt;/p&gt;
&lt;div class="math"&gt;
\begin{equation*}
\begin{cases}
  1_E \geq \sum_{|A| = 1} 1_{E_A} - \cdots - (-1)^k \sum_{|A| = k} 1_{E_A}
  &amp;amp; \text{if } k \text{ is even} \\
  1_E \leq \sum_{|A| = 1} 1_{E_A} - \cdots - (-1)^k \sum_{|A| = k} 1_{E_A}
  &amp;amp; \text{if } k \text{ is odd} \\
 \end{cases}
\end{equation*}
&lt;/div&gt;
&lt;p&gt;Finally taking the expectation of both sides gives us&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Bonferroni Inequalities&lt;/strong&gt;&lt;/p&gt;
&lt;div class="math"&gt;
\begin{equation*}
\begin{cases}
  P(E) \geq \sum_{|A| = 1} P(E_A) - \cdots - (-1)^k \sum_{|A| = k} P(E_A)
  &amp;amp; \text{if } k \text{ is even} \\
  P(E) \leq \sum_{|A| = 1} P(E_A) - \cdots - (-1)^k \sum_{|A| = k} P(E_A)
  &amp;amp; \text{if } k \text{ is odd} \\
 \end{cases}.
\end{equation*}
&lt;/div&gt;
&lt;p&gt;As a special case, we have&lt;/p&gt;
&lt;div class="math"&gt;
\begin{equation*}
P(E_1 \cup \cdots \cup E_n) \leq P(E_1) + \cdots + P(E_N).
\end{equation*}
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="section" id="none-of-this-is-original"&gt;
&lt;h2&gt;None of this is original&lt;/h2&gt;
&lt;p&gt;This end result is an early exercise in Tao &amp;amp; Vu’s book Additive
Combinatorics. It’s pretty obvious that it’s true, but figuring out a
proof took me down this path.&lt;/p&gt;
&lt;p&gt;See these resources:&lt;/p&gt;
&lt;ol class="arabic simple"&gt;
&lt;li&gt;&lt;a class="reference external" href="http://math.bme.hu/~gabor/oktatas/SztoM/TaoVu.AddComb.pdf"&gt;http://math.bme.hu/~gabor/oktatas/SztoM/TaoVu.AddComb.pdf&lt;/a&gt; for the
original problem&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="https://planetmath.org/proofofbonferroniinequalities"&gt;https://planetmath.org/proofofbonferroniinequalities&lt;/a&gt; for an alternate
approach that I found confusing&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="https://en.wikipedia.org/wiki/Inclusion%E2%80%93exclusion_principle"&gt;https://en.wikipedia.org/wiki/Inclusion%E2%80%93exclusion_principle&lt;/a&gt;
to dig through for more about the principle of inclusion-exclusion&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="https://math.stackexchange.com/questions/208766/how-to-prove-bonferroni-inequalities"&gt;https://math.stackexchange.com/questions/208766/how-to-prove-bonferroni-inequalities&lt;/a&gt;
which led me to&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="https://planetmath.org/proofofbonferroniinequalities"&gt;https://planetmath.org/proofofbonferroniinequalities&lt;/a&gt; for an alternate
approach that I found confusing&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="https://math.stackexchange.com/questions/306771/combinatorial-proof-of-combinatorial-identity-involving-1k-binom-n-1k"&gt;https://math.stackexchange.com/questions/306771/combinatorial-proof-of-combinatorial-identity-involving-1k-binom-n-1k&lt;/a&gt;
where I got the nice inversion trick&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;script type='text/javascript'&gt;if (!document.getElementById('mathjaxscript_pelican_#%@#$@#')) {
    var align = "center",
        indent = "0em",
        linebreak = "false";

    if (false) {
        align = (screen.width &lt; 768) ? "left" : align;
        indent = (screen.width &lt; 768) ? "0em" : indent;
        linebreak = (screen.width &lt; 768) ? 'true' : linebreak;
    }

    var mathjaxscript = document.createElement('script');
    mathjaxscript.id = 'mathjaxscript_pelican_#%@#$@#';
    mathjaxscript.type = 'text/javascript';
    mathjaxscript.src = 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.3/latest.js?config=TeX-AMS-MML_HTMLorMML';

    var configscript = document.createElement('script');
    configscript.type = 'text/x-mathjax-config';
    configscript[(window.opera ? "innerHTML" : "text")] =
        "MathJax.Hub.Config({" +
        "    config: ['MMLorHTML.js']," +
        "    TeX: { extensions: ['AMSmath.js','AMSsymbols.js','noErrors.js','noUndefined.js'], equationNumbers: { autoNumber: 'none' } }," +
        "    jax: ['input/TeX','input/MathML','output/HTML-CSS']," +
        "    extensions: ['tex2jax.js','mml2jax.js','MathMenu.js','MathZoom.js']," +
        "    displayAlign: '"+ align +"'," +
        "    displayIndent: '"+ indent +"'," +
        "    showMathMenu: true," +
        "    messageStyle: 'normal'," +
        "    tex2jax: { " +
        "        inlineMath: [ ['\\\\(','\\\\)'] ], " +
        "        displayMath: [ ['$$','$$'] ]," +
        "        processEscapes: true," +
        "        preview: 'TeX'," +
        "    }, " +
        "    'HTML-CSS': { " +
        "        availableFonts: ['STIX', 'TeX']," +
        "        preferredFont: 'STIX'," +
        "        styles: { '.MathJax_Display, .MathJax .mo, .MathJax .mi, .MathJax .mn': {color: 'inherit ! important'} }," +
        "        linebreaks: { automatic: "+ linebreak +", width: '90% container' }," +
        "    }, " +
        "}); " +
        "if ('default' !== 'default') {" +
            "MathJax.Hub.Register.StartupHook('HTML-CSS Jax Ready',function () {" +
                "var VARIANT = MathJax.OutputJax['HTML-CSS'].FONTDATA.VARIANT;" +
                "VARIANT['normal'].fonts.unshift('MathJax_default');" +
                "VARIANT['bold'].fonts.unshift('MathJax_default-bold');" +
                "VARIANT['italic'].fonts.unshift('MathJax_default-italic');" +
                "VARIANT['-tex-mathit'].fonts.unshift('MathJax_default-italic');" +
            "});" +
            "MathJax.Hub.Register.StartupHook('SVG Jax Ready',function () {" +
                "var VARIANT = MathJax.OutputJax.SVG.FONTDATA.VARIANT;" +
                "VARIANT['normal'].fonts.unshift('MathJax_default');" +
                "VARIANT['bold'].fonts.unshift('MathJax_default-bold');" +
                "VARIANT['italic'].fonts.unshift('MathJax_default-italic');" +
                "VARIANT['-tex-mathit'].fonts.unshift('MathJax_default-italic');" +
            "});" +
        "}";

    (document.body || document.getElementsByTagName('head')[0]).appendChild(configscript);
    (document.body || document.getElementsByTagName('head')[0]).appendChild(mathjaxscript);
}
&lt;/script&gt;</content><category term="misc"></category><category term="math"></category><category term="probability"></category></entry><entry><title>Beautiful Proofs</title><link href="https://josephmckinsey.com/beautiful-proofs.html" rel="alternate"></link><published>2020-02-15T00:00:00-07:00</published><updated>2020-02-15T00:00:00-07:00</updated><author><name>Joseph McKinsey</name></author><id>tag:josephmckinsey.com,2020-02-15:/beautiful-proofs.html</id><summary type="html">&lt;p&gt;A collection of clever simple proofs.&lt;/p&gt;</summary><content type="html">&lt;p&gt;There are a &lt;a href="https://mathoverflow.net/questions/28788/nontrivial-theorems-with-trivial-proofs/28791"&gt;lot&lt;/a&gt; of proofs whose clever simplicitly is worth writing down.&lt;/p&gt;
&lt;p&gt;"... the snobbery of the young, who think that a theorem is trivial because its proof is trivial." -- 'the quote is a garbled version of Grothendieck, quoting Ronnie Brown quoting J.H.C. Whitehead. I found it on p.188 of the PDF version of Récoltes et Semailles'&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Lagrange's Theorem&lt;/li&gt;
&lt;li&gt;Bayes' Theorem&lt;/li&gt;
&lt;li&gt;Louiville's Theorem (the complex one)&lt;/li&gt;
&lt;li&gt;Uncountability of the reals&lt;/li&gt;
&lt;li&gt;Infinitely many prime numbers exist&lt;/li&gt;
&lt;li&gt;Union bound on probability&lt;/li&gt;
&lt;li&gt;Markov's Inequality&lt;/li&gt;
&lt;li&gt;Chebyshev's Inequality&lt;/li&gt;
&lt;li&gt;The theorem that there are two irrational numbers a and b with ab rational&lt;/li&gt;
&lt;li&gt;Poincaire Recurrence Theorem&lt;/li&gt;
&lt;li&gt;&lt;a href="https://math.stackexchange.com/questions/367899/q-norm-leq-p-norm"&gt;q-norm &amp;lt;= p-norm if &lt;span class="math"&gt;\(p &amp;lt; q\)&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://math.stackexchange.com/questions/1732753/proving-a-basis-for-inner-product-space-v-when-e-j-v-j-frac1-sqrtn"&gt;If in a list of &lt;span class="math"&gt;\(n\)&lt;/span&gt; vectors, each is within &lt;span class="math"&gt;\(\frac{1}{\sqrt{n}}\)&lt;/span&gt; of an orthogonal basis, then your vectors are independent&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Proof of linear independence of &lt;span class="math"&gt;\(e^{a t}\)&lt;/span&gt;.&lt;/li&gt;
&lt;li&gt;Double counting proof that &lt;span class="math"&gt;\(\sum_{i=0}^n \binom{n}{i}^2 = \binom{2 n}{n}\)&lt;/span&gt;.&lt;/li&gt;
&lt;li&gt;Double counting proof that &lt;span class="math"&gt;\(\sum_{i=0}^j (-1)^i \binom{n}{i} = (-1)^j \binom{n-1}{j}\)&lt;/span&gt;.&lt;/li&gt;
&lt;li&gt;Double counting proof that &lt;span class="math"&gt;\(\sum_{k=0}^n k \binom{n}{i}^2 = n \binom{2 n - 1}{n}\)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;Proof that continuous bijections from a compact space to a hausdorff space is a homeomorphism.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mathoverflow.net/questions/42512/awfully-sophisticated-proof-for-simple-facts/44742#44742"&gt;Irrationality of 21/n for n≥3: if 21/n=p/q then pn=qn+qn, contradicting Fermat's Last Theorem. Unfortunately FLT is not strong enough to prove 2–√ irrational.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Proof of Euler Product Formula for the Riemann Zeta function (&lt;span class="math"&gt;\(\sum_{n=1}^\infty \frac{1}{n^s} = \prod_{p \in \mathrm{primes}} \frac{1}{1 - p^{-s}}\)&lt;/span&gt;).&lt;/li&gt;
&lt;li&gt;Centroid proof of &lt;span class="math"&gt;\(\cos{\frac{pi}{7}} + \cos{\frac{3 \pi}{7}} + \cos{\frac{5 \pi}{7}} = \frac{1}{2}\)&lt;/span&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;script type="text/javascript"&gt;if (!document.getElementById('mathjaxscript_pelican_#%@#$@#')) {
    var align = "center",
        indent = "0em",
        linebreak = "false";

    if (false) {
        align = (screen.width &lt; 768) ? "left" : align;
        indent = (screen.width &lt; 768) ? "0em" : indent;
        linebreak = (screen.width &lt; 768) ? 'true' : linebreak;
    }

    var mathjaxscript = document.createElement('script');
    mathjaxscript.id = 'mathjaxscript_pelican_#%@#$@#';
    mathjaxscript.type = 'text/javascript';
    mathjaxscript.src = 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.3/latest.js?config=TeX-AMS-MML_HTMLorMML';

    var configscript = document.createElement('script');
    configscript.type = 'text/x-mathjax-config';
    configscript[(window.opera ? "innerHTML" : "text")] =
        "MathJax.Hub.Config({" +
        "    config: ['MMLorHTML.js']," +
        "    TeX: { extensions: ['AMSmath.js','AMSsymbols.js','noErrors.js','noUndefined.js'], equationNumbers: { autoNumber: 'none' } }," +
        "    jax: ['input/TeX','input/MathML','output/HTML-CSS']," +
        "    extensions: ['tex2jax.js','mml2jax.js','MathMenu.js','MathZoom.js']," +
        "    displayAlign: '"+ align +"'," +
        "    displayIndent: '"+ indent +"'," +
        "    showMathMenu: true," +
        "    messageStyle: 'normal'," +
        "    tex2jax: { " +
        "        inlineMath: [ ['\\\\(','\\\\)'] ], " +
        "        displayMath: [ ['$$','$$'] ]," +
        "        processEscapes: true," +
        "        preview: 'TeX'," +
        "    }, " +
        "    'HTML-CSS': { " +
        "        availableFonts: ['STIX', 'TeX']," +
        "        preferredFont: 'STIX'," +
        "        styles: { '.MathJax_Display, .MathJax .mo, .MathJax .mi, .MathJax .mn': {color: 'inherit ! important'} }," +
        "        linebreaks: { automatic: "+ linebreak +", width: '90% container' }," +
        "    }, " +
        "}); " +
        "if ('default' !== 'default') {" +
            "MathJax.Hub.Register.StartupHook('HTML-CSS Jax Ready',function () {" +
                "var VARIANT = MathJax.OutputJax['HTML-CSS'].FONTDATA.VARIANT;" +
                "VARIANT['normal'].fonts.unshift('MathJax_default');" +
                "VARIANT['bold'].fonts.unshift('MathJax_default-bold');" +
                "VARIANT['italic'].fonts.unshift('MathJax_default-italic');" +
                "VARIANT['-tex-mathit'].fonts.unshift('MathJax_default-italic');" +
            "});" +
            "MathJax.Hub.Register.StartupHook('SVG Jax Ready',function () {" +
                "var VARIANT = MathJax.OutputJax.SVG.FONTDATA.VARIANT;" +
                "VARIANT['normal'].fonts.unshift('MathJax_default');" +
                "VARIANT['bold'].fonts.unshift('MathJax_default-bold');" +
                "VARIANT['italic'].fonts.unshift('MathJax_default-italic');" +
                "VARIANT['-tex-mathit'].fonts.unshift('MathJax_default-italic');" +
            "});" +
        "}";

    (document.body || document.getElementsByTagName('head')[0]).appendChild(configscript);
    (document.body || document.getElementsByTagName('head')[0]).appendChild(mathjaxscript);
}
&lt;/script&gt;</content><category term="Notes"></category><category term="proofs"></category><category term="math"></category><category term="list"></category></entry><entry><title>Hilbert Space Zoo</title><link href="https://josephmckinsey.com/hilbert-space-zoo.html" rel="alternate"></link><published>2020-02-14T00:00:00-07:00</published><updated>2020-02-14T00:00:00-07:00</updated><author><name>Joseph McKinsey</name></author><id>tag:josephmckinsey.com,2020-02-14:/hilbert-space-zoo.html</id><summary type="html">&lt;p&gt;A place to put your hilbert spaces&lt;/p&gt;</summary><content type="html">&lt;p&gt;This is a place to put examples of everyone's favorite &lt;a href="https://en.wikipedia.org/wiki/Hilbert_space"&gt;complete inner product space&lt;/a&gt;.
Real spaces are only listed if both real and complex are common.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;All real and complex finite dimensional vector spaces&lt;/li&gt;
&lt;li&gt;&lt;span class="math"&gt;\(L^2(\Omega)\)&lt;/span&gt; like &lt;span class="math"&gt;\(L^2(\mathcal{R})\)&lt;/span&gt; and &lt;span class="math"&gt;\(L^2[0, 1]\)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;Weighted &lt;span class="math"&gt;\(L^2\)&lt;/span&gt; by integrating with another &lt;span class="math"&gt;\(L^2\)&lt;/span&gt; function.&lt;/li&gt;
&lt;li&gt;&lt;span class="math"&gt;\(l^2\)&lt;/span&gt; isomorphic to all infinite-dimensional separable hilbert spaces&lt;/li&gt;
&lt;li&gt;&lt;span class="math"&gt;\(H^s\)&lt;/span&gt;(\Omega)&lt;span class="math"&gt;\( is $L^2\)&lt;/span&gt; functions with &lt;span class="math"&gt;\(s\)&lt;/span&gt; weak-derivatives in &lt;span class="math"&gt;\(L^2\)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;Hardy space are holomorphic functions on unit disk whose power series converges at &lt;span class="math"&gt;\(r = 1\)&lt;/span&gt;.&lt;/li&gt;
&lt;li&gt;Bergman space are holomorphic functions that are in &lt;span class="math"&gt;\(L^2\)&lt;/span&gt;.&lt;/li&gt;
&lt;li&gt;Harmonic functions on the unit ball.&lt;/li&gt;
&lt;li&gt;Reproducing kernel hilbert spaces generated by positive-definite kernels&lt;/li&gt;
&lt;li&gt;Reproducing kernel hilbert spaces generateed by feature maps&lt;/li&gt;
&lt;li&gt;Fock space&lt;/li&gt;
&lt;/ul&gt;
&lt;script type="text/javascript"&gt;if (!document.getElementById('mathjaxscript_pelican_#%@#$@#')) {
    var align = "center",
        indent = "0em",
        linebreak = "false";

    if (false) {
        align = (screen.width &lt; 768) ? "left" : align;
        indent = (screen.width &lt; 768) ? "0em" : indent;
        linebreak = (screen.width &lt; 768) ? 'true' : linebreak;
    }

    var mathjaxscript = document.createElement('script');
    mathjaxscript.id = 'mathjaxscript_pelican_#%@#$@#';
    mathjaxscript.type = 'text/javascript';
    mathjaxscript.src = 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.3/latest.js?config=TeX-AMS-MML_HTMLorMML';

    var configscript = document.createElement('script');
    configscript.type = 'text/x-mathjax-config';
    configscript[(window.opera ? "innerHTML" : "text")] =
        "MathJax.Hub.Config({" +
        "    config: ['MMLorHTML.js']," +
        "    TeX: { extensions: ['AMSmath.js','AMSsymbols.js','noErrors.js','noUndefined.js'], equationNumbers: { autoNumber: 'none' } }," +
        "    jax: ['input/TeX','input/MathML','output/HTML-CSS']," +
        "    extensions: ['tex2jax.js','mml2jax.js','MathMenu.js','MathZoom.js']," +
        "    displayAlign: '"+ align +"'," +
        "    displayIndent: '"+ indent +"'," +
        "    showMathMenu: true," +
        "    messageStyle: 'normal'," +
        "    tex2jax: { " +
        "        inlineMath: [ ['\\\\(','\\\\)'] ], " +
        "        displayMath: [ ['$$','$$'] ]," +
        "        processEscapes: true," +
        "        preview: 'TeX'," +
        "    }, " +
        "    'HTML-CSS': { " +
        "        availableFonts: ['STIX', 'TeX']," +
        "        preferredFont: 'STIX'," +
        "        styles: { '.MathJax_Display, .MathJax .mo, .MathJax .mi, .MathJax .mn': {color: 'inherit ! important'} }," +
        "        linebreaks: { automatic: "+ linebreak +", width: '90% container' }," +
        "    }, " +
        "}); " +
        "if ('default' !== 'default') {" +
            "MathJax.Hub.Register.StartupHook('HTML-CSS Jax Ready',function () {" +
                "var VARIANT = MathJax.OutputJax['HTML-CSS'].FONTDATA.VARIANT;" +
                "VARIANT['normal'].fonts.unshift('MathJax_default');" +
                "VARIANT['bold'].fonts.unshift('MathJax_default-bold');" +
                "VARIANT['italic'].fonts.unshift('MathJax_default-italic');" +
                "VARIANT['-tex-mathit'].fonts.unshift('MathJax_default-italic');" +
            "});" +
            "MathJax.Hub.Register.StartupHook('SVG Jax Ready',function () {" +
                "var VARIANT = MathJax.OutputJax.SVG.FONTDATA.VARIANT;" +
                "VARIANT['normal'].fonts.unshift('MathJax_default');" +
                "VARIANT['bold'].fonts.unshift('MathJax_default-bold');" +
                "VARIANT['italic'].fonts.unshift('MathJax_default-italic');" +
                "VARIANT['-tex-mathit'].fonts.unshift('MathJax_default-italic');" +
            "});" +
        "}";

    (document.body || document.getElementsByTagName('head')[0]).appendChild(configscript);
    (document.body || document.getElementsByTagName('head')[0]).appendChild(mathjaxscript);
}
&lt;/script&gt;</content><category term="Notes"></category><category term="hilbert-spaces"></category><category term="math"></category><category term="list"></category></entry><entry><title>Useful Tools</title><link href="https://josephmckinsey.com/useful-tools.html" rel="alternate"></link><published>2018-11-08T00:00:00-07:00</published><updated>2018-11-08T00:00:00-07:00</updated><author><name>Joseph McKinsey</name></author><id>tag:josephmckinsey.com,2018-11-08:/useful-tools.html</id><summary type="html">&lt;p&gt;Maximize your computer, if you have the time.&lt;/p&gt;</summary><content type="html">&lt;p&gt;Most of the tools here will revolve around linux, and most every one of them I
wish I had heard of earlier.&lt;/p&gt;
&lt;h2 id="editors"&gt;Editors&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Visual Studio Code (if you just want something that works)&lt;/li&gt;
&lt;li&gt;IntelliJ for Java / Kotlin&lt;/li&gt;
&lt;li&gt;Spacemacs: the best of both Emacs and Vim, with loads of easy to install
  layers, from markdown to coq.&lt;/li&gt;
&lt;li&gt;Neovim: A forked version of vim, which is mostly just the same.&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id="linux"&gt;Linux&lt;/h1&gt;
&lt;h2 id="distros"&gt;Distros&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Arch Linux (if you have the time, inclination, and friends available for configuring and debugging)&lt;/li&gt;
&lt;li&gt;Ubuntu (if you want stability)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="command-line-utilities"&gt;Command-Line Utilities&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;sl&lt;/code&gt;: the steam locomotive&lt;/li&gt;
&lt;li&gt;&lt;code&gt;fish&lt;/code&gt;: terminal as an alternative to &lt;code&gt;bash&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;zsh&lt;/code&gt;: terminal alternative with backwards compatibility.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;k2pdfopt&lt;/code&gt;: format pdfs better for E-readers.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;unzip&lt;/code&gt;: does literally one thing.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;feh&lt;/code&gt;: an easy way to display a photo&lt;/li&gt;
&lt;li&gt;&lt;code&gt;transset-df&lt;/code&gt;: change opacity on a window.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ImageMagick&lt;/code&gt;: an all-in-one utility for doing everything from screenshots
  with &lt;code&gt;import&lt;/code&gt; to making videos from images.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;tree&lt;/code&gt;: prints out a directory tree from the current working directory.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;screenfetch&lt;/code&gt;: displays system information.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;htop&lt;/code&gt;: command-line task manager.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ripgrep&lt;/code&gt;: faster version of &lt;code&gt;grep&lt;/code&gt; written in rust.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;udiskie&lt;/code&gt;: mount USBs in a better way.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;network-manager&lt;/code&gt;: the only nice way to do wifi.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;redshift&lt;/code&gt;: make your screen less blue at night.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;elinks&lt;/code&gt;: read the browser in your computer.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;youtube-dl&lt;/code&gt;: for grabbing videos or sound from youtube.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;r2&lt;/code&gt;: for decompiling.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;GraphViz&lt;/code&gt;: for drawing graphs (vertex-edge).&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="using-the-computer"&gt;Using the Computer&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;i3-wm&lt;/code&gt;: for tiling windows.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;i3status-rs&lt;/code&gt;: better &lt;code&gt;i3status&lt;/code&gt; bar.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;compton&lt;/code&gt;: compositor for transparency, vsync, and more.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;dunst&lt;/code&gt;: notifications in the background.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;rofi&lt;/code&gt;: better way to open applications.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;greenclip&lt;/code&gt;: have access to clipboard history.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;termite&lt;/code&gt;: terminal emulator. If not available, try &lt;code&gt;terminator&lt;/code&gt; or &lt;code&gt;konsole&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="disabling-the-caps-lock-key-with-xmodmap"&gt;Disabling the CAPS-LOCK key with xmodmap&lt;/h2&gt;
&lt;h2 id="assorted-applications"&gt;Assorted Applications&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;thunderbird&lt;/code&gt;: read mail. Allows a lot of simple use for filtering.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;calibre&lt;/code&gt;: organize books, articles, and news. Exports to e-readers.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="plugins-and-extensions"&gt;Plugins and Extensions&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Vim keybindings in a web-browser &lt;code&gt;CVim&lt;/code&gt;, &lt;code&gt;Vim Vixen&lt;/code&gt;, etc.&lt;/li&gt;
&lt;li&gt;Tree style tabs, along with disabling the tab bar on top.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ublock&lt;/code&gt; for add block.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;rainbow parenthesis&lt;/code&gt; so you can actually read lisp.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;powerline&lt;/code&gt; so you can have a cool little arrow at the bottom of &lt;code&gt;vim&lt;/code&gt;, &lt;code&gt;terminal&lt;/code&gt; (with &lt;code&gt;zsh&lt;/code&gt;), or &lt;code&gt;i3status-rs&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="emacs"&gt;Emacs&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;org mode&lt;/code&gt;: for better linking between files than Markdown. Great for notes.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;AucTex&lt;/code&gt;: LaTeX is now a readable language in emacs.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;treemacs&lt;/code&gt;: nice way to browse files.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;magit&lt;/code&gt;: the best way to use git. Beats terminal any day.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="programming-languages"&gt;Programming Languages&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;LaTeX for formatting anything written: resumes, homework, projects, slideshows with &lt;code&gt;Beamer&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;xelatex&lt;/code&gt; for extra fonts.&lt;/li&gt;
&lt;li&gt;Python, but more importantly,&lt;/li&gt;
&lt;li&gt;&lt;code&gt;numpy&lt;/code&gt;, &lt;code&gt;scipy&lt;/code&gt;, &lt;code&gt;matplotlib&lt;/code&gt;, &lt;code&gt;jupyter&lt;/code&gt;,&lt;/li&gt;
&lt;li&gt;&lt;code&gt;BeautifulSoup&lt;/code&gt;,&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Pillow&lt;/code&gt;,&lt;/li&gt;
&lt;li&gt;&lt;code&gt;requests&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;R for anything statistics related.&lt;/li&gt;
&lt;li&gt;Racket for anything computational.&lt;/li&gt;
&lt;li&gt;Haskell if you want your program to be a beautiful butterfly.&lt;/li&gt;
&lt;li&gt;Sagemath&lt;/li&gt;
&lt;/ul&gt;</content><category term="Notes"></category><category term="linux"></category><category term="computing"></category><category term="list"></category></entry></feed>