<commit_before><!DOCTYPE html>
<html>
<head>
  <title>App</title>
  <meta charset="utf-8">
  <script src="/usr/local/lib//uhc-1.1.3/lib/js/libEH-RTS.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/uhcbase-1.1.3/uhc-1.1.3/js/plain/UHC/UHC_Base.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/uhcbase-1.1.3/uhc-1.1.3/js/plain/UHC/UHC_BoxArray.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/uhcbase-1.1.3/uhc-1.1.3/js/plain/UHC/UHC_Char.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/uhcbase-1.1.3/uhc-1.1.3/js/plain/UHC/UHC_Enum.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/uhcbase-1.1.3/uhc-1.1.3/js/plain/UHC/UHC_Float.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/uhcbase-1.1.3/uhc-1.1.3/js/plain/UHC/UHC_MutVar.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/uhcbase-1.1.3/uhc-1.1.3/js/plain/UHC/UHC_Read.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/uhcbase-1.1.3/uhc-1.1.3/js/plain/UHC/UHC_Real.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/uhcbase-1.1.3/uhc-1.1.3/js/plain/UHC/UHC_ST.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/uhcbase-1.1.3/uhc-1.1.3/js/plain/UHC/UHC_STRef.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/uhcbase-1.1.3/uhc-1.1.3/js/plain/UHC/UHC_Show.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/uhcbase-1.1.3/uhc-1.1.3/js/plain/UHC/UHC_StackTrace.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/uhcbase-1.1.3/uhc-1.1.3/js/plain/UHC/UHC_Types.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/uhcbase-1.1.3/uhc-1.1.3/js/plain/UHC/UHC_Ptr.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/uhcbase-1.1.3/uhc-1.1.3/js/plain/UHC/UHC_ByteArray.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/uhcbase-1.1.3/uhc-1.1.3/js/plain/UHC/UHC_IOBase.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/uhcbase-1.1.3/uhc-1.1.3/js/plain/UHC/UHC_OldException.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/uhcbase-1.1.3/uhc-1.1.3/js/plain/UHC/UHC_OldIO.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/uhcbase-1.1.3/uhc-1.1.3/js/plain/UHC/UHC_Run.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/uhcbase-1.1.3/uhc-1.1.3/js/plain/UHC/Generics/UHC_Generics_Tuple.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/uhcbase-1.1.3/uhc-1.1.3/js/plain/UHC/UHC_Generics.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/uhcbase-1.1.3/uhc-1.1.3/js/plain/UHC/UHC_Bounded.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/uhcbase-1.1.3/uhc-1.1.3/js/plain/UHC/UHC_Eq.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/uhcbase-1.1.3/uhc-1.1.3/js/plain/UHC/UHC_Ord.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/uhcbase-1.1.3/uhc-1.1.3/js/plain/UHC/UHC_Ix.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/uhcbase-1.1.3/uhc-1.1.3/js/plain/UHC/UHC_Array.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/uhcbase-1.1.3/uhc-1.1.3/js/plain/Data/Data_Maybe.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/uhcbase-1.1.3/uhc-1.1.3/js/plain/Data/Data_Char.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/uhcbase-1.1.3/uhc-1.1.3/js/plain/Data/Data_List.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/uhcbase-1.1.3/uhc-1.1.3/js/plain/Control/Control_Monad.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/base-3.0.0.0/uhc-1.1.3/js/plain/Prelude.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/base-3.0.0.0/uhc-1.1.3/js/plain/Control/Control_Category.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/base-3.0.0.0/uhc-1.1.3/js/plain/Control/Monad/Control_Monad_Instances.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/base-3.0.0.0/uhc-1.1.3/js/plain/Data/Data_Function.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/base-3.0.0.0/uhc-1.1.3/js/plain/Control/Monad/Control_Monad_Fix.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/base-3.0.0.0/uhc-1.1.3/js/plain/Control/Control_Arrow.mjs"></script>
  <script src="src/Data/Data_Map.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/base-3.0.0.0/uhc-1.1.3/js/plain/Data/Data_Monoid.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/base-3.0.0.0/uhc-1.1.3/js/plain/Control/Control_Applicative.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/base-3.0.0.0/uhc-1.1.3/js/plain/Data/Data_Foldable.mjs"></script>
  <script src="src/Data/Data_Set.mjs"></script>
  <script src="lib/uhc-js/uhc-js/src/Language/UHC/JScript/Language_UHC_JScript_Types.mjs"></script>
  <script src="lib/uhc-js/uhc-js/src/Language/UHC/JScript/ECMA/Language_UHC_JScript_ECMA_String.mjs"></script>
  <script src="lib/uhc-js/uhc-js/src/Language/UHC/JScript/Language_UHC_JScript_Primitives.mjs"></script>
  <script src="lib/uhc-js/uhc-js/src/Language/UHC/JScript/Language_UHC_JScript_Assorted.mjs"></script>
  <script src="src/PropositionalLogic/PropositionalLogic_Logic.mjs"></script>
  <script src="src/PropositionalLogic/PropositionalLogic_Parser.mjs"></script>
  <script src="src/PropositionalLogic.mjs"></script>
  <script src="src/App.mjs"></script>
  <link rel="stylesheet" href="foundation.css">
  <style>
  code { font-family: "Consolas", "Menlo", "Courier", monospace; background: none; }
  </style>
</head>
<body>
  <div class="row">
    <div class="twelve columns">

      <header>
        <h1>Propositional Logic</h1>
        <h2 class="subheader">Generate all the normal forms for a given formula</h2>
      </header>

      <article>

        <!-- input -->
        <div class="row collapse">
          <div class="nine columns">
            <input type="text">
          </div>
          <div class="three columns">
            <button class="postfix button">Analyze Formula</button>
          </div>
        </div>

        <div class="row">

          <!-- instructions -->
          <div class="four columns panel push-eight">
            <h3>Instructions</h3>
            <p>
              <em>Conjunction (And)</em>: <kbd>^</kbd> (caret) or <kbd>∧</kbd><br>
              <em>Disjunction (Or)</em>: <kbd>v</kbd> (lower v) or <kbd>∨</kbd><br>
              <em>Negation (Not)</em>: <kbd>!</kbd> (bang) or <kbd>¬</kbd><br>
              <em>Implication</em>: <kbd>-&gt;</kbd> or <kbd>→</kbd><br>
              <em>Equivalence</em>: <kbd>&lt;-&gt;</kbd> or <kbd>↔</kbd><br>
            </p>
            <p>Example: <code>!A v B &lt;-&gt; (A -&gt; B)</code></p>
          </div>

          <!-- result -->
          <div class="eight columns pull-four">
            <div class="row">
              <div class="eleven columns centered end">
              <table>
                <thead><tr><th>Normal Form</th><th>Formula</th></tr></thead>
                <tr><th>CNF</th><td><code>(¬A ∨ B ↔ A → B) ∨ ¬(¬A ∨ B ↔ A → B)</code></td></tr>
                <tr><th>DNF</th><td><code>(¬A ∨ B ↔ A → B) ∨ ¬(¬A ∨ B ↔ A → B)</code></td></tr>
                <tr><th>NNF</th><td><code>(¬A ∨ B ↔ A → B) ∨ ¬(¬A ∨ B ↔ A → B)</code></td></tr>
              </table>
            </div>
            </div>
          </div>

        </div>

      </article>

      <footer>© 2012, <NAME> | read the source code on <a href="https://github.com/tilltheis/propositional-logic">GitHub</a></footer>

    </div>
  </div>
</body>
</html>
<commit_msg>dont make table centered<commit_after><!DOCTYPE html>
<html>
<head>
  <title>App</title>
  <meta charset="utf-8">
  <script src="/usr/local/lib//uhc-1.1.3/lib/js/libEH-RTS.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/uhcbase-1.1.3/uhc-1.1.3/js/plain/UHC/UHC_Base.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/uhcbase-1.1.3/uhc-1.1.3/js/plain/UHC/UHC_BoxArray.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/uhcbase-1.1.3/uhc-1.1.3/js/plain/UHC/UHC_Char.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/uhcbase-1.1.3/uhc-1.1.3/js/plain/UHC/UHC_Enum.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/uhcbase-1.1.3/uhc-1.1.3/js/plain/UHC/UHC_Float.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/uhcbase-1.1.3/uhc-1.1.3/js/plain/UHC/UHC_MutVar.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/uhcbase-1.1.3/uhc-1.1.3/js/plain/UHC/UHC_Read.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/uhcbase-1.1.3/uhc-1.1.3/js/plain/UHC/UHC_Real.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/uhcbase-1.1.3/uhc-1.1.3/js/plain/UHC/UHC_ST.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/uhcbase-1.1.3/uhc-1.1.3/js/plain/UHC/UHC_STRef.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/uhcbase-1.1.3/uhc-1.1.3/js/plain/UHC/UHC_Show.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/uhcbase-1.1.3/uhc-1.1.3/js/plain/UHC/UHC_StackTrace.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/uhcbase-1.1.3/uhc-1.1.3/js/plain/UHC/UHC_Types.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/uhcbase-1.1.3/uhc-1.1.3/js/plain/UHC/UHC_Ptr.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/uhcbase-1.1.3/uhc-1.1.3/js/plain/UHC/UHC_ByteArray.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/uhcbase-1.1.3/uhc-1.1.3/js/plain/UHC/UHC_IOBase.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/uhcbase-1.1.3/uhc-1.1.3/js/plain/UHC/UHC_OldException.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/uhcbase-1.1.3/uhc-1.1.3/js/plain/UHC/UHC_OldIO.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/uhcbase-1.1.3/uhc-1.1.3/js/plain/UHC/UHC_Run.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/uhcbase-1.1.3/uhc-1.1.3/js/plain/UHC/Generics/UHC_Generics_Tuple.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/uhcbase-1.1.3/uhc-1.1.3/js/plain/UHC/UHC_Generics.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/uhcbase-1.1.3/uhc-1.1.3/js/plain/UHC/UHC_Bounded.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/uhcbase-1.1.3/uhc-1.1.3/js/plain/UHC/UHC_Eq.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/uhcbase-1.1.3/uhc-1.1.3/js/plain/UHC/UHC_Ord.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/uhcbase-1.1.3/uhc-1.1.3/js/plain/UHC/UHC_Ix.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/uhcbase-1.1.3/uhc-1.1.3/js/plain/UHC/UHC_Array.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/uhcbase-1.1.3/uhc-1.1.3/js/plain/Data/Data_Maybe.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/uhcbase-1.1.3/uhc-1.1.3/js/plain/Data/Data_Char.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/uhcbase-1.1.3/uhc-1.1.3/js/plain/Data/Data_List.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/uhcbase-1.1.3/uhc-1.1.3/js/plain/Control/Control_Monad.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/base-3.0.0.0/uhc-1.1.3/js/plain/Prelude.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/base-3.0.0.0/uhc-1.1.3/js/plain/Control/Control_Category.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/base-3.0.0.0/uhc-1.1.3/js/plain/Control/Monad/Control_Monad_Instances.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/base-3.0.0.0/uhc-1.1.3/js/plain/Data/Data_Function.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/base-3.0.0.0/uhc-1.1.3/js/plain/Control/Monad/Control_Monad_Fix.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/base-3.0.0.0/uhc-1.1.3/js/plain/Control/Control_Arrow.mjs"></script>
  <script src="src/Data/Data_Map.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/base-3.0.0.0/uhc-1.1.3/js/plain/Data/Data_Monoid.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/base-3.0.0.0/uhc-1.1.3/js/plain/Control/Control_Applicative.mjs"></script>
  <script src="/usr/local/lib//uhc-1.1.3/lib/pkg/base-3.0.0.0/uhc-1.1.3/js/plain/Data/Data_Foldable.mjs"></script>
  <script src="src/Data/Data_Set.mjs"></script>
  <script src="lib/uhc-js/uhc-js/src/Language/UHC/JScript/Language_UHC_JScript_Types.mjs"></script>
  <script src="lib/uhc-js/uhc-js/src/Language/UHC/JScript/ECMA/Language_UHC_JScript_ECMA_String.mjs"></script>
  <script src="lib/uhc-js/uhc-js/src/Language/UHC/JScript/Language_UHC_JScript_Primitives.mjs"></script>
  <script src="lib/uhc-js/uhc-js/src/Language/UHC/JScript/Language_UHC_JScript_Assorted.mjs"></script>
  <script src="src/PropositionalLogic/PropositionalLogic_Logic.mjs"></script>
  <script src="src/PropositionalLogic/PropositionalLogic_Parser.mjs"></script>
  <script src="src/PropositionalLogic.mjs"></script>
  <script src="src/App.mjs"></script>
  <link rel="stylesheet" href="foundation.css">
  <style>
  code { font-family: "Consolas", "Menlo", "Courier", monospace; background: none; }
  </style>
</head>
<body>
  <div class="row">
    <div class="twelve columns">

      <header>
        <h1>Propositional Logic</h1>
        <h2 class="subheader">Generate all the normal forms for a given formula</h2>
      </header>

      <article>

        <!-- input -->
        <div class="row collapse">
          <div class="nine columns">
            <input type="text">
          </div>
          <div class="three columns">
            <button class="postfix button">Analyze Formula</button>
          </div>
        </div>

        <div class="row">

          <!-- instructions -->
          <div class="four columns panel push-eight">
            <h3>Instructions</h3>
            <p>
              <em>Conjunction (And)</em>: <kbd>^</kbd> (caret) or <kbd>∧</kbd><br>
              <em>Disjunction (Or)</em>: <kbd>v</kbd> (lower v) or <kbd>∨</kbd><br>
              <em>Negation (Not)</em>: <kbd>!</kbd> (bang) or <kbd>¬</kbd><br>
              <em>Implication</em>: <kbd>-&gt;</kbd> or <kbd>→</kbd><br>
              <em>Equivalence</em>: <kbd>&lt;-&gt;</kbd> or <kbd>↔</kbd><br>
            </p>
            <p>Example: <code>!A v B &lt;-&gt; (A -&gt; B)</code></p>
          </div>

          <!-- result -->
          <div class="eight columns pull-four">
            <div class="row">
              <div class="eleven columns end">
              <table>
                <thead><tr><th>Normal Form</th><th>Formula</th></tr></thead>
                <tr><th>CNF</th><td><code>(¬A ∨ B ↔ A → B) ∨ ¬(¬A ∨ B ↔ A → B)</code></td></tr>
                <tr><th>DNF</th><td><code>(¬A ∨ B ↔ A → B) ∨ ¬(¬A ∨ B ↔ A → B)</code></td></tr>
                <tr><th>NNF</th><td><code>(¬A ∨ B ↔ A → B) ∨ ¬(¬A ∨ B ↔ A → B)</code></td></tr>
              </table>
            </div>
            </div>
          </div>

        </div>

      </article>

      <footer>© 2012, <NAME> | read the source code on <a href="https://github.com/tilltheis/propositional-logic">GitHub</a></footer>

    </div>
  </div>
</body>
</html>

{'fraction_non_alphanumeric': 0.24903960789508545, 'fraction_numerical': 0.04954298582593721, 'mean_word_length': 2.7457206648474326, 'pattern_counts': {'":': 0, '<': 461, '<?xml version=': 0, '>': 461, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 18, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '577375', 'n_tokens_mistral': 7202, 'n_tokens_neox': 7083, 'n_words': 578}