tag:github.com,2008:https://github.com/runtimeverification/k/releasesRelease notes from k2026-02-03T00:08:26Ztag:github.com,2008:Repository/50041690/v7.1.3142026-02-10T11:37:30ZK Framework Release v7.1.314<p>K Framework Release v7.1.314</p>
<hr>
<h2>copyright: Copyright (c) Runtime Verification, Inc. All Rights Reserved.</h2>
<h1>Installing the K Framework</h1>
<h2>Fast Installation (preferred)</h2>
<p>The preferred way to install K is the <code>kup</code> tool, which is based on <a href="https://nixos.org/download.html" rel="nofollow">Nix</a>.<br>
No knowledge of Nix is required to use <code>kup</code>.</p>
<p>Install <code>kup</code> and <code>K</code> by running the following:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="bash <(curl https://kframework.org/install)
kup install k"><pre>bash <span class="pl-s"><span class="pl-pds"><(</span>curl https://kframework.org/install<span class="pl-pds">)</span></span>
kup install k</pre></div>
<p>List available versions with:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="kup list k"><pre>kup list k</pre></div>
<p>If <code>kup</code> indicates that there's a newer version, you can update by simply running:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="kup install k"><pre>kup install k</pre></div>
<p>To install a specific version, run:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="kup install k --version v6.3.11"><pre>kup install k --version v6.3.11</pre></div>
<p>Note that the versions marked as ✅ are cached in Runtime Verification's Nix binary cache and thus are the fastest to install.</p>
<h2>Install through packages</h2>
<p>We currently strive to provide packages for the following platforms:</p>
<ul>
<li>Ubuntu Jammy Jellyfish (22.04)</li>
<li>macOS Ventura (13) via Homebrew</li>
<li>Docker Images</li>
</ul>
<h2>Pre-installation Notes</h2>
<ul>
<li>
<p>We <strong>do not</strong> currently support running K natively on Windows. To use K on<br>
Windows 10, you are encouraged to install the<br>
<a href="https://docs.microsoft.com/en-us/windows/wsl/install-win10" rel="nofollow">Windows Subsystem for Linux (version 2)</a><br>
and follow the instructions for installing Ubuntu Jammy.</p>
<p>If you have already installed WSL, before proceeding, you will need to<br>
enter the WSL environment. You can do this by:</p>
<ol>
<li>opening up the command prompt (accessible by searching <code>cmd</code> or<br>
<code>command prompt</code> from the start menu);</li>
<li>using the <code>wsl.exe</code> command to access the WSL environment.</li>
</ol>
</li>
<li>
<p>To use K in other non-linux environments (e.g. Windows 8 or earlier),<br>
you will need to use a virtual machine (VM) software. We assume you have:</p>
<ol>
<li>Created a virtual machine</li>
<li>Installed a Linux distribution (e.g. Ubuntu Jammy Jellyfish) on your<br>
virtual machine</li>
</ol>
<p>Consult your virtual machine software if you need help with the above<br>
steps. We recommend the free VirtualBox virtual machine software.</p>
<p>Before proceeding, follow the virtual machine softare UI to start your<br>
Linux virtual machine and enter the command line environment.</p>
</li>
<li>
<p>WSL and virtual machine users should be aware that, if you use your web<br>
browser to download the package, you will need to make it accessible to<br>
the command line environment. For this reason, we recommend downloading the<br>
package from the command line directly using a tool like <code>wget</code>. For<br>
example, you could copy the package download URL and then type:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="wget <package-download-url>"><pre class="notranslate"><code>wget <package-download-url>
</code></pre></div>
<p>where <code><package-download-url></code> is replaced by the URL you just copied.</p>
</li>
<li>
<p>K depends on version 4.8.15 of Z3, which may not be supplied by package<br>
managers. If this is the case, it should be built and installed from source<br>
following the<br>
<a href="https://github.com/Z3Prover/z3#building-z3-using-cmake">instructions</a> in<br>
the Z3 repository. Other versions (older and newer) are not supported by K,<br>
and may lead to incorrect behaviour or performance issues.</p>
</li>
</ul>
<h2>Downloading Packages</h2>
<p>Download the appropriate package from the GitHub, via the<br>
<a href="https://github.com/runtimeverification/k/releases">Releases</a> page.<br>
Releases are generated as often as possible from <code>master</code> build.</p>
<h2>Installing Packages</h2>
<p>For version <code>X.Y.Z</code>, distribution <code>DISTRO</code>, and package ID <code>ID</code>, the following<br>
instructions tell you how to install on each system. Note that this typically<br>
requires about ~1.4GB of dependencies and will take some time.</p>
<ul>
<li>On Linux systems, K will typically be installed under <code>/usr</code>.</li>
<li>On macOS/brew, K will typically be installed under <code>/usr/local</code>.</li>
</ul>
<h3>Ubuntu Jammy (22.04)</h3>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="sudo apt install ./kframework_amd64_ubuntu_jammy.deb"><pre>sudo apt install ./kframework_amd64_ubuntu_jammy.deb</pre></div>
<h3>macOS (Homebrew)</h3>
<p><a href="https://brew.sh/" rel="nofollow">Homebrew</a> (or just brew) is a third-party package manager<br>
for MacOS.<br>
If you have not installed brew, you must do so before installing the K<br>
Framework brew package.</p>
<p>With brew installed, do the following to install the K Framework brew package<br>
(with build number <code>BN</code>):</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="brew install kframework--X.Y.Z.ID.bottle.BN.tar.gz -v"><pre>brew install kframework--X.Y.Z.ID.bottle.BN.tar.gz -v</pre></div>
<h4>Homebrew Alternate Installation</h4>
<p>To directly install the latest K Framework brew package without needing to<br>
download it separately, do the following:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="brew install runtimeverification/k/kframework"><pre>brew install runtimeverification/k/kframework</pre></div>
<p>Or, to streamline future K Framework upgrades, you can <code>tap</code> the K Framework<br>
package repository. This lets future installations/upgrades/etc... use the<br>
unprefixed package name.</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="brew tap runtimeverification/k
brew install kframework"><pre>brew tap runtimeverification/k
brew install kframework</pre></div>
<h3>Docker Images</h3>
<p>Docker images with K pre-installed are available at the<br>
<a href="https://hub.docker.com/repository/docker/runtimeverificationinc/kframework-k" rel="nofollow">runtimeverification/kframework-k Docker Hub repository</a>.</p>
<p>Each release at <code>COMMIT_ID</code> has an image associated with it at<br>
<code>runtimeverificationinc/kframework-k:ubuntu-jammy-COMMIT_ID</code>.</p>
<p>To run the image directly:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="docker run -it runtimeverificationinc/kframework-k:ubuntu-jammy-COMMIT_ID"><pre>docker run -it runtimeverificationinc/kframework-k:ubuntu-jammy-COMMIT_ID</pre></div>
<p>and to make a Docker Image based on it, use the following line in your<br>
<code>Dockerfile</code>:</p>
<div class="highlight highlight-source-dockerfile notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="FROM runtimeverificationinc/kframework-k:ubuntu-jammy-COMMIT_ID"><pre><span class="pl-k">FROM</span> runtimeverificationinc/kframework-k:ubuntu-jammy-COMMIT_ID</pre></div>
<p>We also create Ubuntu 22.04 images with the <code>ubuntu-jammy-COMMIT_ID</code> tags.</p>
<h2>Testing Packages</h2>
<p>The easiest way to test the K package is to copy a K tutorial language and<br>
check if you can compile and run an included example.</p>
<ol>
<li>
<p>Start by cloning the K tutorial from the <a href="https://www.github.com/runtimeverification/pl-tutorial">K PL Tutorial</a>. This command typically will be like:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="$ git clone https://www.github.com/runtimeverification/pl-tutorial"><pre>$ git clone https://www.github.com/runtimeverification/pl-tutorial</pre></div>
</li>
<li>
<p>Now you can try to run some programs:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="$ cd pl-tutorial/2_languages/1_simple/1_untyped
$ make kompile
$ krun tests/diverse/factorial.simple"><pre>$ <span class="pl-c1">cd</span> pl-tutorial/2_languages/1_simple/1_untyped
$ make kompile
$ krun tests/diverse/factorial.simple</pre></div>
</li>
</ol>rv-jenkinstag:github.com,2008:Repository/50041690/v7.1.3132026-01-30T16:00:08ZK Framework Release v7.1.313<p>K Framework Release v7.1.313</p>
<hr>
<h2>copyright: Copyright (c) Runtime Verification, Inc. All Rights Reserved.</h2>
<h1>Installing the K Framework</h1>
<h2>Fast Installation (preferred)</h2>
<p>The preferred way to install K is the <code>kup</code> tool, which is based on <a href="https://nixos.org/download.html" rel="nofollow">Nix</a>.<br>
No knowledge of Nix is required to use <code>kup</code>.</p>
<p>Install <code>kup</code> and <code>K</code> by running the following:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="bash <(curl https://kframework.org/install)
kup install k"><pre>bash <span class="pl-s"><span class="pl-pds"><(</span>curl https://kframework.org/install<span class="pl-pds">)</span></span>
kup install k</pre></div>
<p>List available versions with:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="kup list k"><pre>kup list k</pre></div>
<p>If <code>kup</code> indicates that there's a newer version, you can update by simply running:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="kup install k"><pre>kup install k</pre></div>
<p>To install a specific version, run:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="kup install k --version v6.3.11"><pre>kup install k --version v6.3.11</pre></div>
<p>Note that the versions marked as ✅ are cached in Runtime Verification's Nix binary cache and thus are the fastest to install.</p>
<h2>Install through packages</h2>
<p>We currently strive to provide packages for the following platforms:</p>
<ul>
<li>Ubuntu Jammy Jellyfish (22.04)</li>
<li>macOS Ventura (13) via Homebrew</li>
<li>Docker Images</li>
</ul>
<h2>Pre-installation Notes</h2>
<ul>
<li>
<p>We <strong>do not</strong> currently support running K natively on Windows. To use K on<br>
Windows 10, you are encouraged to install the<br>
<a href="https://docs.microsoft.com/en-us/windows/wsl/install-win10" rel="nofollow">Windows Subsystem for Linux (version 2)</a><br>
and follow the instructions for installing Ubuntu Jammy.</p>
<p>If you have already installed WSL, before proceeding, you will need to<br>
enter the WSL environment. You can do this by:</p>
<ol>
<li>opening up the command prompt (accessible by searching <code>cmd</code> or<br>
<code>command prompt</code> from the start menu);</li>
<li>using the <code>wsl.exe</code> command to access the WSL environment.</li>
</ol>
</li>
<li>
<p>To use K in other non-linux environments (e.g. Windows 8 or earlier),<br>
you will need to use a virtual machine (VM) software. We assume you have:</p>
<ol>
<li>Created a virtual machine</li>
<li>Installed a Linux distribution (e.g. Ubuntu Jammy Jellyfish) on your<br>
virtual machine</li>
</ol>
<p>Consult your virtual machine software if you need help with the above<br>
steps. We recommend the free VirtualBox virtual machine software.</p>
<p>Before proceeding, follow the virtual machine softare UI to start your<br>
Linux virtual machine and enter the command line environment.</p>
</li>
<li>
<p>WSL and virtual machine users should be aware that, if you use your web<br>
browser to download the package, you will need to make it accessible to<br>
the command line environment. For this reason, we recommend downloading the<br>
package from the command line directly using a tool like <code>wget</code>. For<br>
example, you could copy the package download URL and then type:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="wget <package-download-url>"><pre class="notranslate"><code>wget <package-download-url>
</code></pre></div>
<p>where <code><package-download-url></code> is replaced by the URL you just copied.</p>
</li>
<li>
<p>K depends on version 4.8.15 of Z3, which may not be supplied by package<br>
managers. If this is the case, it should be built and installed from source<br>
following the<br>
<a href="https://github.com/Z3Prover/z3#building-z3-using-cmake">instructions</a> in<br>
the Z3 repository. Other versions (older and newer) are not supported by K,<br>
and may lead to incorrect behaviour or performance issues.</p>
</li>
</ul>
<h2>Downloading Packages</h2>
<p>Download the appropriate package from the GitHub, via the<br>
<a href="https://github.com/runtimeverification/k/releases">Releases</a> page.<br>
Releases are generated as often as possible from <code>master</code> build.</p>
<h2>Installing Packages</h2>
<p>For version <code>X.Y.Z</code>, distribution <code>DISTRO</code>, and package ID <code>ID</code>, the following<br>
instructions tell you how to install on each system. Note that this typically<br>
requires about ~1.4GB of dependencies and will take some time.</p>
<ul>
<li>On Linux systems, K will typically be installed under <code>/usr</code>.</li>
<li>On macOS/brew, K will typically be installed under <code>/usr/local</code>.</li>
</ul>
<h3>Ubuntu Jammy (22.04)</h3>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="sudo apt install ./kframework_amd64_ubuntu_jammy.deb"><pre>sudo apt install ./kframework_amd64_ubuntu_jammy.deb</pre></div>
<h3>macOS (Homebrew)</h3>
<p><a href="https://brew.sh/" rel="nofollow">Homebrew</a> (or just brew) is a third-party package manager<br>
for MacOS.<br>
If you have not installed brew, you must do so before installing the K<br>
Framework brew package.</p>
<p>With brew installed, do the following to install the K Framework brew package<br>
(with build number <code>BN</code>):</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="brew install kframework--X.Y.Z.ID.bottle.BN.tar.gz -v"><pre>brew install kframework--X.Y.Z.ID.bottle.BN.tar.gz -v</pre></div>
<h4>Homebrew Alternate Installation</h4>
<p>To directly install the latest K Framework brew package without needing to<br>
download it separately, do the following:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="brew install runtimeverification/k/kframework"><pre>brew install runtimeverification/k/kframework</pre></div>
<p>Or, to streamline future K Framework upgrades, you can <code>tap</code> the K Framework<br>
package repository. This lets future installations/upgrades/etc... use the<br>
unprefixed package name.</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="brew tap runtimeverification/k
brew install kframework"><pre>brew tap runtimeverification/k
brew install kframework</pre></div>
<h3>Docker Images</h3>
<p>Docker images with K pre-installed are available at the<br>
<a href="https://hub.docker.com/repository/docker/runtimeverificationinc/kframework-k" rel="nofollow">runtimeverification/kframework-k Docker Hub repository</a>.</p>
<p>Each release at <code>COMMIT_ID</code> has an image associated with it at<br>
<code>runtimeverificationinc/kframework-k:ubuntu-jammy-COMMIT_ID</code>.</p>
<p>To run the image directly:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="docker run -it runtimeverificationinc/kframework-k:ubuntu-jammy-COMMIT_ID"><pre>docker run -it runtimeverificationinc/kframework-k:ubuntu-jammy-COMMIT_ID</pre></div>
<p>and to make a Docker Image based on it, use the following line in your<br>
<code>Dockerfile</code>:</p>
<div class="highlight highlight-source-dockerfile notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="FROM runtimeverificationinc/kframework-k:ubuntu-jammy-COMMIT_ID"><pre><span class="pl-k">FROM</span> runtimeverificationinc/kframework-k:ubuntu-jammy-COMMIT_ID</pre></div>
<p>We also create Ubuntu 22.04 images with the <code>ubuntu-jammy-COMMIT_ID</code> tags.</p>
<h2>Testing Packages</h2>
<p>The easiest way to test the K package is to copy a K tutorial language and<br>
check if you can compile and run an included example.</p>
<ol>
<li>
<p>Start by cloning the K tutorial from the <a href="https://www.github.com/runtimeverification/pl-tutorial">K PL Tutorial</a>. This command typically will be like:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="$ git clone https://www.github.com/runtimeverification/pl-tutorial"><pre>$ git clone https://www.github.com/runtimeverification/pl-tutorial</pre></div>
</li>
<li>
<p>Now you can try to run some programs:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="$ cd pl-tutorial/2_languages/1_simple/1_untyped
$ make kompile
$ krun tests/diverse/factorial.simple"><pre>$ <span class="pl-c1">cd</span> pl-tutorial/2_languages/1_simple/1_untyped
$ make kompile
$ krun tests/diverse/factorial.simple</pre></div>
</li>
</ol>rv-jenkinstag:github.com,2008:Repository/50041690/v7.1.3122026-01-30T13:10:44ZK Framework Release v7.1.312<p>K Framework Release v7.1.312</p>
<hr>
<h2>copyright: Copyright (c) Runtime Verification, Inc. All Rights Reserved.</h2>
<h1>Installing the K Framework</h1>
<h2>Fast Installation (preferred)</h2>
<p>The preferred way to install K is the <code>kup</code> tool, which is based on <a href="https://nixos.org/download.html" rel="nofollow">Nix</a>.<br>
No knowledge of Nix is required to use <code>kup</code>.</p>
<p>Install <code>kup</code> and <code>K</code> by running the following:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="bash <(curl https://kframework.org/install)
kup install k"><pre>bash <span class="pl-s"><span class="pl-pds"><(</span>curl https://kframework.org/install<span class="pl-pds">)</span></span>
kup install k</pre></div>
<p>List available versions with:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="kup list k"><pre>kup list k</pre></div>
<p>If <code>kup</code> indicates that there's a newer version, you can update by simply running:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="kup install k"><pre>kup install k</pre></div>
<p>To install a specific version, run:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="kup install k --version v6.3.11"><pre>kup install k --version v6.3.11</pre></div>
<p>Note that the versions marked as ✅ are cached in Runtime Verification's Nix binary cache and thus are the fastest to install.</p>
<h2>Install through packages</h2>
<p>We currently strive to provide packages for the following platforms:</p>
<ul>
<li>Ubuntu Jammy Jellyfish (22.04)</li>
<li>macOS Ventura (13) via Homebrew</li>
<li>Docker Images</li>
</ul>
<h2>Pre-installation Notes</h2>
<ul>
<li>
<p>We <strong>do not</strong> currently support running K natively on Windows. To use K on<br>
Windows 10, you are encouraged to install the<br>
<a href="https://docs.microsoft.com/en-us/windows/wsl/install-win10" rel="nofollow">Windows Subsystem for Linux (version 2)</a><br>
and follow the instructions for installing Ubuntu Jammy.</p>
<p>If you have already installed WSL, before proceeding, you will need to<br>
enter the WSL environment. You can do this by:</p>
<ol>
<li>opening up the command prompt (accessible by searching <code>cmd</code> or<br>
<code>command prompt</code> from the start menu);</li>
<li>using the <code>wsl.exe</code> command to access the WSL environment.</li>
</ol>
</li>
<li>
<p>To use K in other non-linux environments (e.g. Windows 8 or earlier),<br>
you will need to use a virtual machine (VM) software. We assume you have:</p>
<ol>
<li>Created a virtual machine</li>
<li>Installed a Linux distribution (e.g. Ubuntu Jammy Jellyfish) on your<br>
virtual machine</li>
</ol>
<p>Consult your virtual machine software if you need help with the above<br>
steps. We recommend the free VirtualBox virtual machine software.</p>
<p>Before proceeding, follow the virtual machine softare UI to start your<br>
Linux virtual machine and enter the command line environment.</p>
</li>
<li>
<p>WSL and virtual machine users should be aware that, if you use your web<br>
browser to download the package, you will need to make it accessible to<br>
the command line environment. For this reason, we recommend downloading the<br>
package from the command line directly using a tool like <code>wget</code>. For<br>
example, you could copy the package download URL and then type:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="wget <package-download-url>"><pre class="notranslate"><code>wget <package-download-url>
</code></pre></div>
<p>where <code><package-download-url></code> is replaced by the URL you just copied.</p>
</li>
<li>
<p>K depends on version 4.8.15 of Z3, which may not be supplied by package<br>
managers. If this is the case, it should be built and installed from source<br>
following the<br>
<a href="https://github.com/Z3Prover/z3#building-z3-using-cmake">instructions</a> in<br>
the Z3 repository. Other versions (older and newer) are not supported by K,<br>
and may lead to incorrect behaviour or performance issues.</p>
</li>
</ul>
<h2>Downloading Packages</h2>
<p>Download the appropriate package from the GitHub, via the<br>
<a href="https://github.com/runtimeverification/k/releases">Releases</a> page.<br>
Releases are generated as often as possible from <code>master</code> build.</p>
<h2>Installing Packages</h2>
<p>For version <code>X.Y.Z</code>, distribution <code>DISTRO</code>, and package ID <code>ID</code>, the following<br>
instructions tell you how to install on each system. Note that this typically<br>
requires about ~1.4GB of dependencies and will take some time.</p>
<ul>
<li>On Linux systems, K will typically be installed under <code>/usr</code>.</li>
<li>On macOS/brew, K will typically be installed under <code>/usr/local</code>.</li>
</ul>
<h3>Ubuntu Jammy (22.04)</h3>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="sudo apt install ./kframework_amd64_ubuntu_jammy.deb"><pre>sudo apt install ./kframework_amd64_ubuntu_jammy.deb</pre></div>
<h3>macOS (Homebrew)</h3>
<p><a href="https://brew.sh/" rel="nofollow">Homebrew</a> (or just brew) is a third-party package manager<br>
for MacOS.<br>
If you have not installed brew, you must do so before installing the K<br>
Framework brew package.</p>
<p>With brew installed, do the following to install the K Framework brew package<br>
(with build number <code>BN</code>):</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="brew install kframework--X.Y.Z.ID.bottle.BN.tar.gz -v"><pre>brew install kframework--X.Y.Z.ID.bottle.BN.tar.gz -v</pre></div>
<h4>Homebrew Alternate Installation</h4>
<p>To directly install the latest K Framework brew package without needing to<br>
download it separately, do the following:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="brew install runtimeverification/k/kframework"><pre>brew install runtimeverification/k/kframework</pre></div>
<p>Or, to streamline future K Framework upgrades, you can <code>tap</code> the K Framework<br>
package repository. This lets future installations/upgrades/etc... use the<br>
unprefixed package name.</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="brew tap runtimeverification/k
brew install kframework"><pre>brew tap runtimeverification/k
brew install kframework</pre></div>
<h3>Docker Images</h3>
<p>Docker images with K pre-installed are available at the<br>
<a href="https://hub.docker.com/repository/docker/runtimeverificationinc/kframework-k" rel="nofollow">runtimeverification/kframework-k Docker Hub repository</a>.</p>
<p>Each release at <code>COMMIT_ID</code> has an image associated with it at<br>
<code>runtimeverificationinc/kframework-k:ubuntu-jammy-COMMIT_ID</code>.</p>
<p>To run the image directly:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="docker run -it runtimeverificationinc/kframework-k:ubuntu-jammy-COMMIT_ID"><pre>docker run -it runtimeverificationinc/kframework-k:ubuntu-jammy-COMMIT_ID</pre></div>
<p>and to make a Docker Image based on it, use the following line in your<br>
<code>Dockerfile</code>:</p>
<div class="highlight highlight-source-dockerfile notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="FROM runtimeverificationinc/kframework-k:ubuntu-jammy-COMMIT_ID"><pre><span class="pl-k">FROM</span> runtimeverificationinc/kframework-k:ubuntu-jammy-COMMIT_ID</pre></div>
<p>We also create Ubuntu 22.04 images with the <code>ubuntu-jammy-COMMIT_ID</code> tags.</p>
<h2>Testing Packages</h2>
<p>The easiest way to test the K package is to copy a K tutorial language and<br>
check if you can compile and run an included example.</p>
<ol>
<li>
<p>Start by cloning the K tutorial from the <a href="https://www.github.com/runtimeverification/pl-tutorial">K PL Tutorial</a>. This command typically will be like:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="$ git clone https://www.github.com/runtimeverification/pl-tutorial"><pre>$ git clone https://www.github.com/runtimeverification/pl-tutorial</pre></div>
</li>
<li>
<p>Now you can try to run some programs:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="$ cd pl-tutorial/2_languages/1_simple/1_untyped
$ make kompile
$ krun tests/diverse/factorial.simple"><pre>$ <span class="pl-c1">cd</span> pl-tutorial/2_languages/1_simple/1_untyped
$ make kompile
$ krun tests/diverse/factorial.simple</pre></div>
</li>
</ol>rv-jenkinstag:github.com,2008:Repository/50041690/v7.1.3112026-01-29T11:30:12ZK Framework Release v7.1.311<p>K Framework Release v7.1.311</p>
<hr>
<h2>copyright: Copyright (c) Runtime Verification, Inc. All Rights Reserved.</h2>
<h1>Installing the K Framework</h1>
<h2>Fast Installation (preferred)</h2>
<p>The preferred way to install K is the <code>kup</code> tool, which is based on <a href="https://nixos.org/download.html" rel="nofollow">Nix</a>.<br>
No knowledge of Nix is required to use <code>kup</code>.</p>
<p>Install <code>kup</code> and <code>K</code> by running the following:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="bash <(curl https://kframework.org/install)
kup install k"><pre>bash <span class="pl-s"><span class="pl-pds"><(</span>curl https://kframework.org/install<span class="pl-pds">)</span></span>
kup install k</pre></div>
<p>List available versions with:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="kup list k"><pre>kup list k</pre></div>
<p>If <code>kup</code> indicates that there's a newer version, you can update by simply running:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="kup install k"><pre>kup install k</pre></div>
<p>To install a specific version, run:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="kup install k --version v6.3.11"><pre>kup install k --version v6.3.11</pre></div>
<p>Note that the versions marked as ✅ are cached in Runtime Verification's Nix binary cache and thus are the fastest to install.</p>
<h2>Install through packages</h2>
<p>We currently strive to provide packages for the following platforms:</p>
<ul>
<li>Ubuntu Jammy Jellyfish (22.04)</li>
<li>macOS Ventura (13) via Homebrew</li>
<li>Docker Images</li>
</ul>
<h2>Pre-installation Notes</h2>
<ul>
<li>
<p>We <strong>do not</strong> currently support running K natively on Windows. To use K on<br>
Windows 10, you are encouraged to install the<br>
<a href="https://docs.microsoft.com/en-us/windows/wsl/install-win10" rel="nofollow">Windows Subsystem for Linux (version 2)</a><br>
and follow the instructions for installing Ubuntu Jammy.</p>
<p>If you have already installed WSL, before proceeding, you will need to<br>
enter the WSL environment. You can do this by:</p>
<ol>
<li>opening up the command prompt (accessible by searching <code>cmd</code> or<br>
<code>command prompt</code> from the start menu);</li>
<li>using the <code>wsl.exe</code> command to access the WSL environment.</li>
</ol>
</li>
<li>
<p>To use K in other non-linux environments (e.g. Windows 8 or earlier),<br>
you will need to use a virtual machine (VM) software. We assume you have:</p>
<ol>
<li>Created a virtual machine</li>
<li>Installed a Linux distribution (e.g. Ubuntu Jammy Jellyfish) on your<br>
virtual machine</li>
</ol>
<p>Consult your virtual machine software if you need help with the above<br>
steps. We recommend the free VirtualBox virtual machine software.</p>
<p>Before proceeding, follow the virtual machine softare UI to start your<br>
Linux virtual machine and enter the command line environment.</p>
</li>
<li>
<p>WSL and virtual machine users should be aware that, if you use your web<br>
browser to download the package, you will need to make it accessible to<br>
the command line environment. For this reason, we recommend downloading the<br>
package from the command line directly using a tool like <code>wget</code>. For<br>
example, you could copy the package download URL and then type:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="wget <package-download-url>"><pre class="notranslate"><code>wget <package-download-url>
</code></pre></div>
<p>where <code><package-download-url></code> is replaced by the URL you just copied.</p>
</li>
<li>
<p>K depends on version 4.8.15 of Z3, which may not be supplied by package<br>
managers. If this is the case, it should be built and installed from source<br>
following the<br>
<a href="https://github.com/Z3Prover/z3#building-z3-using-cmake">instructions</a> in<br>
the Z3 repository. Other versions (older and newer) are not supported by K,<br>
and may lead to incorrect behaviour or performance issues.</p>
</li>
</ul>
<h2>Downloading Packages</h2>
<p>Download the appropriate package from the GitHub, via the<br>
<a href="https://github.com/runtimeverification/k/releases">Releases</a> page.<br>
Releases are generated as often as possible from <code>master</code> build.</p>
<h2>Installing Packages</h2>
<p>For version <code>X.Y.Z</code>, distribution <code>DISTRO</code>, and package ID <code>ID</code>, the following<br>
instructions tell you how to install on each system. Note that this typically<br>
requires about ~1.4GB of dependencies and will take some time.</p>
<ul>
<li>On Linux systems, K will typically be installed under <code>/usr</code>.</li>
<li>On macOS/brew, K will typically be installed under <code>/usr/local</code>.</li>
</ul>
<h3>Ubuntu Jammy (22.04)</h3>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="sudo apt install ./kframework_amd64_ubuntu_jammy.deb"><pre>sudo apt install ./kframework_amd64_ubuntu_jammy.deb</pre></div>
<h3>macOS (Homebrew)</h3>
<p><a href="https://brew.sh/" rel="nofollow">Homebrew</a> (or just brew) is a third-party package manager<br>
for MacOS.<br>
If you have not installed brew, you must do so before installing the K<br>
Framework brew package.</p>
<p>With brew installed, do the following to install the K Framework brew package<br>
(with build number <code>BN</code>):</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="brew install kframework--X.Y.Z.ID.bottle.BN.tar.gz -v"><pre>brew install kframework--X.Y.Z.ID.bottle.BN.tar.gz -v</pre></div>
<h4>Homebrew Alternate Installation</h4>
<p>To directly install the latest K Framework brew package without needing to<br>
download it separately, do the following:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="brew install runtimeverification/k/kframework"><pre>brew install runtimeverification/k/kframework</pre></div>
<p>Or, to streamline future K Framework upgrades, you can <code>tap</code> the K Framework<br>
package repository. This lets future installations/upgrades/etc... use the<br>
unprefixed package name.</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="brew tap runtimeverification/k
brew install kframework"><pre>brew tap runtimeverification/k
brew install kframework</pre></div>
<h3>Docker Images</h3>
<p>Docker images with K pre-installed are available at the<br>
<a href="https://hub.docker.com/repository/docker/runtimeverificationinc/kframework-k" rel="nofollow">runtimeverification/kframework-k Docker Hub repository</a>.</p>
<p>Each release at <code>COMMIT_ID</code> has an image associated with it at<br>
<code>runtimeverificationinc/kframework-k:ubuntu-jammy-COMMIT_ID</code>.</p>
<p>To run the image directly:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="docker run -it runtimeverificationinc/kframework-k:ubuntu-jammy-COMMIT_ID"><pre>docker run -it runtimeverificationinc/kframework-k:ubuntu-jammy-COMMIT_ID</pre></div>
<p>and to make a Docker Image based on it, use the following line in your<br>
<code>Dockerfile</code>:</p>
<div class="highlight highlight-source-dockerfile notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="FROM runtimeverificationinc/kframework-k:ubuntu-jammy-COMMIT_ID"><pre><span class="pl-k">FROM</span> runtimeverificationinc/kframework-k:ubuntu-jammy-COMMIT_ID</pre></div>
<p>We also create Ubuntu 22.04 images with the <code>ubuntu-jammy-COMMIT_ID</code> tags.</p>
<h2>Testing Packages</h2>
<p>The easiest way to test the K package is to copy a K tutorial language and<br>
check if you can compile and run an included example.</p>
<ol>
<li>
<p>Start by cloning the K tutorial from the <a href="https://www.github.com/runtimeverification/pl-tutorial">K PL Tutorial</a>. This command typically will be like:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="$ git clone https://www.github.com/runtimeverification/pl-tutorial"><pre>$ git clone https://www.github.com/runtimeverification/pl-tutorial</pre></div>
</li>
<li>
<p>Now you can try to run some programs:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="$ cd pl-tutorial/2_languages/1_simple/1_untyped
$ make kompile
$ krun tests/diverse/factorial.simple"><pre>$ <span class="pl-c1">cd</span> pl-tutorial/2_languages/1_simple/1_untyped
$ make kompile
$ krun tests/diverse/factorial.simple</pre></div>
</li>
</ol>rv-jenkinstag:github.com,2008:Repository/50041690/v7.1.3102026-01-06T22:24:48ZK Framework Release v7.1.310<p>K Framework Release v7.1.310</p>
<hr>
<h2>copyright: Copyright (c) Runtime Verification, Inc. All Rights Reserved.</h2>
<h1>Installing the K Framework</h1>
<h2>Fast Installation (preferred)</h2>
<p>The preferred way to install K is the <code>kup</code> tool, which is based on <a href="https://nixos.org/download.html" rel="nofollow">Nix</a>.<br>
No knowledge of Nix is required to use <code>kup</code>.</p>
<p>Install <code>kup</code> and <code>K</code> by running the following:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="bash <(curl https://kframework.org/install)
kup install k"><pre>bash <span class="pl-s"><span class="pl-pds"><(</span>curl https://kframework.org/install<span class="pl-pds">)</span></span>
kup install k</pre></div>
<p>List available versions with:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="kup list k"><pre>kup list k</pre></div>
<p>If <code>kup</code> indicates that there's a newer version, you can update by simply running:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="kup install k"><pre>kup install k</pre></div>
<p>To install a specific version, run:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="kup install k --version v6.3.11"><pre>kup install k --version v6.3.11</pre></div>
<p>Note that the versions marked as ✅ are cached in Runtime Verification's Nix binary cache and thus are the fastest to install.</p>
<h2>Install through packages</h2>
<p>We currently strive to provide packages for the following platforms:</p>
<ul>
<li>Ubuntu Jammy Jellyfish (22.04)</li>
<li>macOS Ventura (13) via Homebrew</li>
<li>Docker Images</li>
</ul>
<h2>Pre-installation Notes</h2>
<ul>
<li>
<p>We <strong>do not</strong> currently support running K natively on Windows. To use K on<br>
Windows 10, you are encouraged to install the<br>
<a href="https://docs.microsoft.com/en-us/windows/wsl/install-win10" rel="nofollow">Windows Subsystem for Linux (version 2)</a><br>
and follow the instructions for installing Ubuntu Jammy.</p>
<p>If you have already installed WSL, before proceeding, you will need to<br>
enter the WSL environment. You can do this by:</p>
<ol>
<li>opening up the command prompt (accessible by searching <code>cmd</code> or<br>
<code>command prompt</code> from the start menu);</li>
<li>using the <code>wsl.exe</code> command to access the WSL environment.</li>
</ol>
</li>
<li>
<p>To use K in other non-linux environments (e.g. Windows 8 or earlier),<br>
you will need to use a virtual machine (VM) software. We assume you have:</p>
<ol>
<li>Created a virtual machine</li>
<li>Installed a Linux distribution (e.g. Ubuntu Jammy Jellyfish) on your<br>
virtual machine</li>
</ol>
<p>Consult your virtual machine software if you need help with the above<br>
steps. We recommend the free VirtualBox virtual machine software.</p>
<p>Before proceeding, follow the virtual machine softare UI to start your<br>
Linux virtual machine and enter the command line environment.</p>
</li>
<li>
<p>WSL and virtual machine users should be aware that, if you use your web<br>
browser to download the package, you will need to make it accessible to<br>
the command line environment. For this reason, we recommend downloading the<br>
package from the command line directly using a tool like <code>wget</code>. For<br>
example, you could copy the package download URL and then type:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="wget <package-download-url>"><pre class="notranslate"><code>wget <package-download-url>
</code></pre></div>
<p>where <code><package-download-url></code> is replaced by the URL you just copied.</p>
</li>
<li>
<p>K depends on version 4.8.15 of Z3, which may not be supplied by package<br>
managers. If this is the case, it should be built and installed from source<br>
following the<br>
<a href="https://github.com/Z3Prover/z3#building-z3-using-cmake">instructions</a> in<br>
the Z3 repository. Other versions (older and newer) are not supported by K,<br>
and may lead to incorrect behaviour or performance issues.</p>
</li>
</ul>
<h2>Downloading Packages</h2>
<p>Download the appropriate package from the GitHub, via the<br>
<a href="https://github.com/runtimeverification/k/releases">Releases</a> page.<br>
Releases are generated as often as possible from <code>master</code> build.</p>
<h2>Installing Packages</h2>
<p>For version <code>X.Y.Z</code>, distribution <code>DISTRO</code>, and package ID <code>ID</code>, the following<br>
instructions tell you how to install on each system. Note that this typically<br>
requires about ~1.4GB of dependencies and will take some time.</p>
<ul>
<li>On Linux systems, K will typically be installed under <code>/usr</code>.</li>
<li>On macOS/brew, K will typically be installed under <code>/usr/local</code>.</li>
</ul>
<h3>Ubuntu Jammy (22.04)</h3>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="sudo apt install ./kframework_amd64_ubuntu_jammy.deb"><pre>sudo apt install ./kframework_amd64_ubuntu_jammy.deb</pre></div>
<h3>macOS (Homebrew)</h3>
<p><a href="https://brew.sh/" rel="nofollow">Homebrew</a> (or just brew) is a third-party package manager<br>
for MacOS.<br>
If you have not installed brew, you must do so before installing the K<br>
Framework brew package.</p>
<p>With brew installed, do the following to install the K Framework brew package<br>
(with build number <code>BN</code>):</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="brew install kframework--X.Y.Z.ID.bottle.BN.tar.gz -v"><pre>brew install kframework--X.Y.Z.ID.bottle.BN.tar.gz -v</pre></div>
<h4>Homebrew Alternate Installation</h4>
<p>To directly install the latest K Framework brew package without needing to<br>
download it separately, do the following:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="brew install runtimeverification/k/kframework"><pre>brew install runtimeverification/k/kframework</pre></div>
<p>Or, to streamline future K Framework upgrades, you can <code>tap</code> the K Framework<br>
package repository. This lets future installations/upgrades/etc... use the<br>
unprefixed package name.</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="brew tap runtimeverification/k
brew install kframework"><pre>brew tap runtimeverification/k
brew install kframework</pre></div>
<h3>Docker Images</h3>
<p>Docker images with K pre-installed are available at the<br>
<a href="https://hub.docker.com/repository/docker/runtimeverificationinc/kframework-k" rel="nofollow">runtimeverification/kframework-k Docker Hub repository</a>.</p>
<p>Each release at <code>COMMIT_ID</code> has an image associated with it at<br>
<code>runtimeverificationinc/kframework-k:ubuntu-jammy-COMMIT_ID</code>.</p>
<p>To run the image directly:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="docker run -it runtimeverificationinc/kframework-k:ubuntu-jammy-COMMIT_ID"><pre>docker run -it runtimeverificationinc/kframework-k:ubuntu-jammy-COMMIT_ID</pre></div>
<p>and to make a Docker Image based on it, use the following line in your<br>
<code>Dockerfile</code>:</p>
<div class="highlight highlight-source-dockerfile notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="FROM runtimeverificationinc/kframework-k:ubuntu-jammy-COMMIT_ID"><pre><span class="pl-k">FROM</span> runtimeverificationinc/kframework-k:ubuntu-jammy-COMMIT_ID</pre></div>
<p>We also create Ubuntu 22.04 images with the <code>ubuntu-jammy-COMMIT_ID</code> tags.</p>
<h2>Testing Packages</h2>
<p>The easiest way to test the K package is to copy a K tutorial language and<br>
check if you can compile and run an included example.</p>
<ol>
<li>
<p>Start by cloning the K tutorial from the <a href="https://www.github.com/runtimeverification/pl-tutorial">K PL Tutorial</a>. This command typically will be like:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="$ git clone https://www.github.com/runtimeverification/pl-tutorial"><pre>$ git clone https://www.github.com/runtimeverification/pl-tutorial</pre></div>
</li>
<li>
<p>Now you can try to run some programs:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="$ cd pl-tutorial/2_languages/1_simple/1_untyped
$ make kompile
$ krun tests/diverse/factorial.simple"><pre>$ <span class="pl-c1">cd</span> pl-tutorial/2_languages/1_simple/1_untyped
$ make kompile
$ krun tests/diverse/factorial.simple</pre></div>
</li>
</ol>rv-jenkinstag:github.com,2008:Repository/50041690/v7.1.3092026-01-06T19:28:08ZK Framework Release v7.1.309<p>K Framework Release v7.1.309</p>
<hr>
<h2>copyright: Copyright (c) Runtime Verification, Inc. All Rights Reserved.</h2>
<h1>Installing the K Framework</h1>
<h2>Fast Installation (preferred)</h2>
<p>The preferred way to install K is the <code>kup</code> tool, which is based on <a href="https://nixos.org/download.html" rel="nofollow">Nix</a>.<br>
No knowledge of Nix is required to use <code>kup</code>.</p>
<p>Install <code>kup</code> and <code>K</code> by running the following:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="bash <(curl https://kframework.org/install)
kup install k"><pre>bash <span class="pl-s"><span class="pl-pds"><(</span>curl https://kframework.org/install<span class="pl-pds">)</span></span>
kup install k</pre></div>
<p>List available versions with:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="kup list k"><pre>kup list k</pre></div>
<p>If <code>kup</code> indicates that there's a newer version, you can update by simply running:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="kup install k"><pre>kup install k</pre></div>
<p>To install a specific version, run:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="kup install k --version v6.3.11"><pre>kup install k --version v6.3.11</pre></div>
<p>Note that the versions marked as ✅ are cached in Runtime Verification's Nix binary cache and thus are the fastest to install.</p>
<h2>Install through packages</h2>
<p>We currently strive to provide packages for the following platforms:</p>
<ul>
<li>Ubuntu Jammy Jellyfish (22.04)</li>
<li>macOS Ventura (13) via Homebrew</li>
<li>Docker Images</li>
</ul>
<h2>Pre-installation Notes</h2>
<ul>
<li>
<p>We <strong>do not</strong> currently support running K natively on Windows. To use K on<br>
Windows 10, you are encouraged to install the<br>
<a href="https://docs.microsoft.com/en-us/windows/wsl/install-win10" rel="nofollow">Windows Subsystem for Linux (version 2)</a><br>
and follow the instructions for installing Ubuntu Jammy.</p>
<p>If you have already installed WSL, before proceeding, you will need to<br>
enter the WSL environment. You can do this by:</p>
<ol>
<li>opening up the command prompt (accessible by searching <code>cmd</code> or<br>
<code>command prompt</code> from the start menu);</li>
<li>using the <code>wsl.exe</code> command to access the WSL environment.</li>
</ol>
</li>
<li>
<p>To use K in other non-linux environments (e.g. Windows 8 or earlier),<br>
you will need to use a virtual machine (VM) software. We assume you have:</p>
<ol>
<li>Created a virtual machine</li>
<li>Installed a Linux distribution (e.g. Ubuntu Jammy Jellyfish) on your<br>
virtual machine</li>
</ol>
<p>Consult your virtual machine software if you need help with the above<br>
steps. We recommend the free VirtualBox virtual machine software.</p>
<p>Before proceeding, follow the virtual machine softare UI to start your<br>
Linux virtual machine and enter the command line environment.</p>
</li>
<li>
<p>WSL and virtual machine users should be aware that, if you use your web<br>
browser to download the package, you will need to make it accessible to<br>
the command line environment. For this reason, we recommend downloading the<br>
package from the command line directly using a tool like <code>wget</code>. For<br>
example, you could copy the package download URL and then type:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="wget <package-download-url>"><pre class="notranslate"><code>wget <package-download-url>
</code></pre></div>
<p>where <code><package-download-url></code> is replaced by the URL you just copied.</p>
</li>
<li>
<p>K depends on version 4.8.15 of Z3, which may not be supplied by package<br>
managers. If this is the case, it should be built and installed from source<br>
following the<br>
<a href="https://github.com/Z3Prover/z3#building-z3-using-cmake">instructions</a> in<br>
the Z3 repository. Other versions (older and newer) are not supported by K,<br>
and may lead to incorrect behaviour or performance issues.</p>
</li>
</ul>
<h2>Downloading Packages</h2>
<p>Download the appropriate package from the GitHub, via the<br>
<a href="https://github.com/runtimeverification/k/releases">Releases</a> page.<br>
Releases are generated as often as possible from <code>master</code> build.</p>
<h2>Installing Packages</h2>
<p>For version <code>X.Y.Z</code>, distribution <code>DISTRO</code>, and package ID <code>ID</code>, the following<br>
instructions tell you how to install on each system. Note that this typically<br>
requires about ~1.4GB of dependencies and will take some time.</p>
<ul>
<li>On Linux systems, K will typically be installed under <code>/usr</code>.</li>
<li>On macOS/brew, K will typically be installed under <code>/usr/local</code>.</li>
</ul>
<h3>Ubuntu Jammy (22.04)</h3>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="sudo apt install ./kframework_amd64_ubuntu_jammy.deb"><pre>sudo apt install ./kframework_amd64_ubuntu_jammy.deb</pre></div>
<h3>macOS (Homebrew)</h3>
<p><a href="https://brew.sh/" rel="nofollow">Homebrew</a> (or just brew) is a third-party package manager<br>
for MacOS.<br>
If you have not installed brew, you must do so before installing the K<br>
Framework brew package.</p>
<p>With brew installed, do the following to install the K Framework brew package<br>
(with build number <code>BN</code>):</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="brew install kframework--X.Y.Z.ID.bottle.BN.tar.gz -v"><pre>brew install kframework--X.Y.Z.ID.bottle.BN.tar.gz -v</pre></div>
<h4>Homebrew Alternate Installation</h4>
<p>To directly install the latest K Framework brew package without needing to<br>
download it separately, do the following:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="brew install runtimeverification/k/kframework"><pre>brew install runtimeverification/k/kframework</pre></div>
<p>Or, to streamline future K Framework upgrades, you can <code>tap</code> the K Framework<br>
package repository. This lets future installations/upgrades/etc... use the<br>
unprefixed package name.</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="brew tap runtimeverification/k
brew install kframework"><pre>brew tap runtimeverification/k
brew install kframework</pre></div>
<h3>Docker Images</h3>
<p>Docker images with K pre-installed are available at the<br>
<a href="https://hub.docker.com/repository/docker/runtimeverificationinc/kframework-k" rel="nofollow">runtimeverification/kframework-k Docker Hub repository</a>.</p>
<p>Each release at <code>COMMIT_ID</code> has an image associated with it at<br>
<code>runtimeverificationinc/kframework-k:ubuntu-jammy-COMMIT_ID</code>.</p>
<p>To run the image directly:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="docker run -it runtimeverificationinc/kframework-k:ubuntu-jammy-COMMIT_ID"><pre>docker run -it runtimeverificationinc/kframework-k:ubuntu-jammy-COMMIT_ID</pre></div>
<p>and to make a Docker Image based on it, use the following line in your<br>
<code>Dockerfile</code>:</p>
<div class="highlight highlight-source-dockerfile notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="FROM runtimeverificationinc/kframework-k:ubuntu-jammy-COMMIT_ID"><pre><span class="pl-k">FROM</span> runtimeverificationinc/kframework-k:ubuntu-jammy-COMMIT_ID</pre></div>
<p>We also create Ubuntu 22.04 images with the <code>ubuntu-jammy-COMMIT_ID</code> tags.</p>
<h2>Testing Packages</h2>
<p>The easiest way to test the K package is to copy a K tutorial language and<br>
check if you can compile and run an included example.</p>
<ol>
<li>
<p>Start by cloning the K tutorial from the <a href="https://www.github.com/runtimeverification/pl-tutorial">K PL Tutorial</a>. This command typically will be like:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="$ git clone https://www.github.com/runtimeverification/pl-tutorial"><pre>$ git clone https://www.github.com/runtimeverification/pl-tutorial</pre></div>
</li>
<li>
<p>Now you can try to run some programs:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="$ cd pl-tutorial/2_languages/1_simple/1_untyped
$ make kompile
$ krun tests/diverse/factorial.simple"><pre>$ <span class="pl-c1">cd</span> pl-tutorial/2_languages/1_simple/1_untyped
$ make kompile
$ krun tests/diverse/factorial.simple</pre></div>
</li>
</ol>rv-jenkinstag:github.com,2008:Repository/50041690/v7.1.3082025-12-19T02:22:58ZK Framework Release v7.1.308<p>K Framework Release v7.1.308</p>
<hr>
<h2>copyright: Copyright (c) Runtime Verification, Inc. All Rights Reserved.</h2>
<h1>Installing the K Framework</h1>
<h2>Fast Installation (preferred)</h2>
<p>The preferred way to install K is the <code>kup</code> tool, which is based on <a href="https://nixos.org/download.html" rel="nofollow">Nix</a>.<br>
No knowledge of Nix is required to use <code>kup</code>.</p>
<p>Install <code>kup</code> and <code>K</code> by running the following:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="bash <(curl https://kframework.org/install)
kup install k"><pre>bash <span class="pl-s"><span class="pl-pds"><(</span>curl https://kframework.org/install<span class="pl-pds">)</span></span>
kup install k</pre></div>
<p>List available versions with:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="kup list k"><pre>kup list k</pre></div>
<p>If <code>kup</code> indicates that there's a newer version, you can update by simply running:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="kup install k"><pre>kup install k</pre></div>
<p>To install a specific version, run:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="kup install k --version v6.3.11"><pre>kup install k --version v6.3.11</pre></div>
<p>Note that the versions marked as ✅ are cached in Runtime Verification's Nix binary cache and thus are the fastest to install.</p>
<h2>Install through packages</h2>
<p>We currently strive to provide packages for the following platforms:</p>
<ul>
<li>Ubuntu Jammy Jellyfish (22.04)</li>
<li>macOS Ventura (13) via Homebrew</li>
<li>Docker Images</li>
</ul>
<h2>Pre-installation Notes</h2>
<ul>
<li>
<p>We <strong>do not</strong> currently support running K natively on Windows. To use K on<br>
Windows 10, you are encouraged to install the<br>
<a href="https://docs.microsoft.com/en-us/windows/wsl/install-win10" rel="nofollow">Windows Subsystem for Linux (version 2)</a><br>
and follow the instructions for installing Ubuntu Jammy.</p>
<p>If you have already installed WSL, before proceeding, you will need to<br>
enter the WSL environment. You can do this by:</p>
<ol>
<li>opening up the command prompt (accessible by searching <code>cmd</code> or<br>
<code>command prompt</code> from the start menu);</li>
<li>using the <code>wsl.exe</code> command to access the WSL environment.</li>
</ol>
</li>
<li>
<p>To use K in other non-linux environments (e.g. Windows 8 or earlier),<br>
you will need to use a virtual machine (VM) software. We assume you have:</p>
<ol>
<li>Created a virtual machine</li>
<li>Installed a Linux distribution (e.g. Ubuntu Jammy Jellyfish) on your<br>
virtual machine</li>
</ol>
<p>Consult your virtual machine software if you need help with the above<br>
steps. We recommend the free VirtualBox virtual machine software.</p>
<p>Before proceeding, follow the virtual machine softare UI to start your<br>
Linux virtual machine and enter the command line environment.</p>
</li>
<li>
<p>WSL and virtual machine users should be aware that, if you use your web<br>
browser to download the package, you will need to make it accessible to<br>
the command line environment. For this reason, we recommend downloading the<br>
package from the command line directly using a tool like <code>wget</code>. For<br>
example, you could copy the package download URL and then type:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="wget <package-download-url>"><pre class="notranslate"><code>wget <package-download-url>
</code></pre></div>
<p>where <code><package-download-url></code> is replaced by the URL you just copied.</p>
</li>
<li>
<p>K depends on version 4.8.15 of Z3, which may not be supplied by package<br>
managers. If this is the case, it should be built and installed from source<br>
following the<br>
<a href="https://github.com/Z3Prover/z3#building-z3-using-cmake">instructions</a> in<br>
the Z3 repository. Other versions (older and newer) are not supported by K,<br>
and may lead to incorrect behaviour or performance issues.</p>
</li>
</ul>
<h2>Downloading Packages</h2>
<p>Download the appropriate package from the GitHub, via the<br>
<a href="https://github.com/runtimeverification/k/releases">Releases</a> page.<br>
Releases are generated as often as possible from <code>master</code> build.</p>
<h2>Installing Packages</h2>
<p>For version <code>X.Y.Z</code>, distribution <code>DISTRO</code>, and package ID <code>ID</code>, the following<br>
instructions tell you how to install on each system. Note that this typically<br>
requires about ~1.4GB of dependencies and will take some time.</p>
<ul>
<li>On Linux systems, K will typically be installed under <code>/usr</code>.</li>
<li>On macOS/brew, K will typically be installed under <code>/usr/local</code>.</li>
</ul>
<h3>Ubuntu Jammy (22.04)</h3>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="sudo apt install ./kframework_amd64_ubuntu_jammy.deb"><pre>sudo apt install ./kframework_amd64_ubuntu_jammy.deb</pre></div>
<h3>macOS (Homebrew)</h3>
<p><a href="https://brew.sh/" rel="nofollow">Homebrew</a> (or just brew) is a third-party package manager<br>
for MacOS.<br>
If you have not installed brew, you must do so before installing the K<br>
Framework brew package.</p>
<p>With brew installed, do the following to install the K Framework brew package<br>
(with build number <code>BN</code>):</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="brew install kframework--X.Y.Z.ID.bottle.BN.tar.gz -v"><pre>brew install kframework--X.Y.Z.ID.bottle.BN.tar.gz -v</pre></div>
<h4>Homebrew Alternate Installation</h4>
<p>To directly install the latest K Framework brew package without needing to<br>
download it separately, do the following:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="brew install runtimeverification/k/kframework"><pre>brew install runtimeverification/k/kframework</pre></div>
<p>Or, to streamline future K Framework upgrades, you can <code>tap</code> the K Framework<br>
package repository. This lets future installations/upgrades/etc... use the<br>
unprefixed package name.</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="brew tap runtimeverification/k
brew install kframework"><pre>brew tap runtimeverification/k
brew install kframework</pre></div>
<h3>Docker Images</h3>
<p>Docker images with K pre-installed are available at the<br>
<a href="https://hub.docker.com/repository/docker/runtimeverificationinc/kframework-k" rel="nofollow">runtimeverification/kframework-k Docker Hub repository</a>.</p>
<p>Each release at <code>COMMIT_ID</code> has an image associated with it at<br>
<code>runtimeverificationinc/kframework-k:ubuntu-jammy-COMMIT_ID</code>.</p>
<p>To run the image directly:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="docker run -it runtimeverificationinc/kframework-k:ubuntu-jammy-COMMIT_ID"><pre>docker run -it runtimeverificationinc/kframework-k:ubuntu-jammy-COMMIT_ID</pre></div>
<p>and to make a Docker Image based on it, use the following line in your<br>
<code>Dockerfile</code>:</p>
<div class="highlight highlight-source-dockerfile notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="FROM runtimeverificationinc/kframework-k:ubuntu-jammy-COMMIT_ID"><pre><span class="pl-k">FROM</span> runtimeverificationinc/kframework-k:ubuntu-jammy-COMMIT_ID</pre></div>
<p>We also create Ubuntu 22.04 images with the <code>ubuntu-jammy-COMMIT_ID</code> tags.</p>
<h2>Testing Packages</h2>
<p>The easiest way to test the K package is to copy a K tutorial language and<br>
check if you can compile and run an included example.</p>
<ol>
<li>
<p>Start by cloning the K tutorial from the <a href="https://www.github.com/runtimeverification/pl-tutorial">K PL Tutorial</a>. This command typically will be like:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="$ git clone https://www.github.com/runtimeverification/pl-tutorial"><pre>$ git clone https://www.github.com/runtimeverification/pl-tutorial</pre></div>
</li>
<li>
<p>Now you can try to run some programs:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="$ cd pl-tutorial/2_languages/1_simple/1_untyped
$ make kompile
$ krun tests/diverse/factorial.simple"><pre>$ <span class="pl-c1">cd</span> pl-tutorial/2_languages/1_simple/1_untyped
$ make kompile
$ krun tests/diverse/factorial.simple</pre></div>
</li>
</ol>rv-jenkinstag:github.com,2008:Repository/50041690/v7.1.3072025-12-18T16:57:21ZK Framework Release v7.1.307<p>K Framework Release v7.1.307</p>
<hr>
<h2>copyright: Copyright (c) Runtime Verification, Inc. All Rights Reserved.</h2>
<h1>Installing the K Framework</h1>
<h2>Fast Installation (preferred)</h2>
<p>The preferred way to install K is the <code>kup</code> tool, which is based on <a href="https://nixos.org/download.html" rel="nofollow">Nix</a>.<br>
No knowledge of Nix is required to use <code>kup</code>.</p>
<p>Install <code>kup</code> and <code>K</code> by running the following:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="bash <(curl https://kframework.org/install)
kup install k"><pre>bash <span class="pl-s"><span class="pl-pds"><(</span>curl https://kframework.org/install<span class="pl-pds">)</span></span>
kup install k</pre></div>
<p>List available versions with:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="kup list k"><pre>kup list k</pre></div>
<p>If <code>kup</code> indicates that there's a newer version, you can update by simply running:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="kup install k"><pre>kup install k</pre></div>
<p>To install a specific version, run:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="kup install k --version v6.3.11"><pre>kup install k --version v6.3.11</pre></div>
<p>Note that the versions marked as ✅ are cached in Runtime Verification's Nix binary cache and thus are the fastest to install.</p>
<h2>Install through packages</h2>
<p>We currently strive to provide packages for the following platforms:</p>
<ul>
<li>Ubuntu Jammy Jellyfish (22.04)</li>
<li>macOS Ventura (13) via Homebrew</li>
<li>Docker Images</li>
</ul>
<h2>Pre-installation Notes</h2>
<ul>
<li>
<p>We <strong>do not</strong> currently support running K natively on Windows. To use K on<br>
Windows 10, you are encouraged to install the<br>
<a href="https://docs.microsoft.com/en-us/windows/wsl/install-win10" rel="nofollow">Windows Subsystem for Linux (version 2)</a><br>
and follow the instructions for installing Ubuntu Jammy.</p>
<p>If you have already installed WSL, before proceeding, you will need to<br>
enter the WSL environment. You can do this by:</p>
<ol>
<li>opening up the command prompt (accessible by searching <code>cmd</code> or<br>
<code>command prompt</code> from the start menu);</li>
<li>using the <code>wsl.exe</code> command to access the WSL environment.</li>
</ol>
</li>
<li>
<p>To use K in other non-linux environments (e.g. Windows 8 or earlier),<br>
you will need to use a virtual machine (VM) software. We assume you have:</p>
<ol>
<li>Created a virtual machine</li>
<li>Installed a Linux distribution (e.g. Ubuntu Jammy Jellyfish) on your<br>
virtual machine</li>
</ol>
<p>Consult your virtual machine software if you need help with the above<br>
steps. We recommend the free VirtualBox virtual machine software.</p>
<p>Before proceeding, follow the virtual machine softare UI to start your<br>
Linux virtual machine and enter the command line environment.</p>
</li>
<li>
<p>WSL and virtual machine users should be aware that, if you use your web<br>
browser to download the package, you will need to make it accessible to<br>
the command line environment. For this reason, we recommend downloading the<br>
package from the command line directly using a tool like <code>wget</code>. For<br>
example, you could copy the package download URL and then type:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="wget <package-download-url>"><pre class="notranslate"><code>wget <package-download-url>
</code></pre></div>
<p>where <code><package-download-url></code> is replaced by the URL you just copied.</p>
</li>
<li>
<p>K depends on version 4.8.15 of Z3, which may not be supplied by package<br>
managers. If this is the case, it should be built and installed from source<br>
following the<br>
<a href="https://github.com/Z3Prover/z3#building-z3-using-cmake">instructions</a> in<br>
the Z3 repository. Other versions (older and newer) are not supported by K,<br>
and may lead to incorrect behaviour or performance issues.</p>
</li>
</ul>
<h2>Downloading Packages</h2>
<p>Download the appropriate package from the GitHub, via the<br>
<a href="https://github.com/runtimeverification/k/releases">Releases</a> page.<br>
Releases are generated as often as possible from <code>master</code> build.</p>
<h2>Installing Packages</h2>
<p>For version <code>X.Y.Z</code>, distribution <code>DISTRO</code>, and package ID <code>ID</code>, the following<br>
instructions tell you how to install on each system. Note that this typically<br>
requires about ~1.4GB of dependencies and will take some time.</p>
<ul>
<li>On Linux systems, K will typically be installed under <code>/usr</code>.</li>
<li>On macOS/brew, K will typically be installed under <code>/usr/local</code>.</li>
</ul>
<h3>Ubuntu Jammy (22.04)</h3>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="sudo apt install ./kframework_amd64_ubuntu_jammy.deb"><pre>sudo apt install ./kframework_amd64_ubuntu_jammy.deb</pre></div>
<h3>macOS (Homebrew)</h3>
<p><a href="https://brew.sh/" rel="nofollow">Homebrew</a> (or just brew) is a third-party package manager<br>
for MacOS.<br>
If you have not installed brew, you must do so before installing the K<br>
Framework brew package.</p>
<p>With brew installed, do the following to install the K Framework brew package<br>
(with build number <code>BN</code>):</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="brew install kframework--X.Y.Z.ID.bottle.BN.tar.gz -v"><pre>brew install kframework--X.Y.Z.ID.bottle.BN.tar.gz -v</pre></div>
<h4>Homebrew Alternate Installation</h4>
<p>To directly install the latest K Framework brew package without needing to<br>
download it separately, do the following:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="brew install runtimeverification/k/kframework"><pre>brew install runtimeverification/k/kframework</pre></div>
<p>Or, to streamline future K Framework upgrades, you can <code>tap</code> the K Framework<br>
package repository. This lets future installations/upgrades/etc... use the<br>
unprefixed package name.</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="brew tap runtimeverification/k
brew install kframework"><pre>brew tap runtimeverification/k
brew install kframework</pre></div>
<h3>Docker Images</h3>
<p>Docker images with K pre-installed are available at the<br>
<a href="https://hub.docker.com/repository/docker/runtimeverificationinc/kframework-k" rel="nofollow">runtimeverification/kframework-k Docker Hub repository</a>.</p>
<p>Each release at <code>COMMIT_ID</code> has an image associated with it at<br>
<code>runtimeverificationinc/kframework-k:ubuntu-jammy-COMMIT_ID</code>.</p>
<p>To run the image directly:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="docker run -it runtimeverificationinc/kframework-k:ubuntu-jammy-COMMIT_ID"><pre>docker run -it runtimeverificationinc/kframework-k:ubuntu-jammy-COMMIT_ID</pre></div>
<p>and to make a Docker Image based on it, use the following line in your<br>
<code>Dockerfile</code>:</p>
<div class="highlight highlight-source-dockerfile notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="FROM runtimeverificationinc/kframework-k:ubuntu-jammy-COMMIT_ID"><pre><span class="pl-k">FROM</span> runtimeverificationinc/kframework-k:ubuntu-jammy-COMMIT_ID</pre></div>
<p>We also create Ubuntu 22.04 images with the <code>ubuntu-jammy-COMMIT_ID</code> tags.</p>
<h2>Testing Packages</h2>
<p>The easiest way to test the K package is to copy a K tutorial language and<br>
check if you can compile and run an included example.</p>
<ol>
<li>
<p>Start by cloning the K tutorial from the <a href="https://www.github.com/runtimeverification/pl-tutorial">K PL Tutorial</a>. This command typically will be like:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="$ git clone https://www.github.com/runtimeverification/pl-tutorial"><pre>$ git clone https://www.github.com/runtimeverification/pl-tutorial</pre></div>
</li>
<li>
<p>Now you can try to run some programs:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="$ cd pl-tutorial/2_languages/1_simple/1_untyped
$ make kompile
$ krun tests/diverse/factorial.simple"><pre>$ <span class="pl-c1">cd</span> pl-tutorial/2_languages/1_simple/1_untyped
$ make kompile
$ krun tests/diverse/factorial.simple</pre></div>
</li>
</ol>rv-jenkinstag:github.com,2008:Repository/50041690/v7.1.3062025-12-15T09:37:58ZK Framework Release v7.1.306<p>K Framework Release v7.1.306</p>
<hr>
<h2>copyright: Copyright (c) Runtime Verification, Inc. All Rights Reserved.</h2>
<h1>Installing the K Framework</h1>
<h2>Fast Installation (preferred)</h2>
<p>The preferred way to install K is the <code>kup</code> tool, which is based on <a href="https://nixos.org/download.html" rel="nofollow">Nix</a>.<br>
No knowledge of Nix is required to use <code>kup</code>.</p>
<p>Install <code>kup</code> and <code>K</code> by running the following:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="bash <(curl https://kframework.org/install)
kup install k"><pre>bash <span class="pl-s"><span class="pl-pds"><(</span>curl https://kframework.org/install<span class="pl-pds">)</span></span>
kup install k</pre></div>
<p>List available versions with:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="kup list k"><pre>kup list k</pre></div>
<p>If <code>kup</code> indicates that there's a newer version, you can update by simply running:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="kup install k"><pre>kup install k</pre></div>
<p>To install a specific version, run:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="kup install k --version v6.3.11"><pre>kup install k --version v6.3.11</pre></div>
<p>Note that the versions marked as ✅ are cached in Runtime Verification's Nix binary cache and thus are the fastest to install.</p>
<h2>Install through packages</h2>
<p>We currently strive to provide packages for the following platforms:</p>
<ul>
<li>Ubuntu Jammy Jellyfish (22.04)</li>
<li>macOS Ventura (13) via Homebrew</li>
<li>Docker Images</li>
</ul>
<h2>Pre-installation Notes</h2>
<ul>
<li>
<p>We <strong>do not</strong> currently support running K natively on Windows. To use K on<br>
Windows 10, you are encouraged to install the<br>
<a href="https://docs.microsoft.com/en-us/windows/wsl/install-win10" rel="nofollow">Windows Subsystem for Linux (version 2)</a><br>
and follow the instructions for installing Ubuntu Jammy.</p>
<p>If you have already installed WSL, before proceeding, you will need to<br>
enter the WSL environment. You can do this by:</p>
<ol>
<li>opening up the command prompt (accessible by searching <code>cmd</code> or<br>
<code>command prompt</code> from the start menu);</li>
<li>using the <code>wsl.exe</code> command to access the WSL environment.</li>
</ol>
</li>
<li>
<p>To use K in other non-linux environments (e.g. Windows 8 or earlier),<br>
you will need to use a virtual machine (VM) software. We assume you have:</p>
<ol>
<li>Created a virtual machine</li>
<li>Installed a Linux distribution (e.g. Ubuntu Jammy Jellyfish) on your<br>
virtual machine</li>
</ol>
<p>Consult your virtual machine software if you need help with the above<br>
steps. We recommend the free VirtualBox virtual machine software.</p>
<p>Before proceeding, follow the virtual machine softare UI to start your<br>
Linux virtual machine and enter the command line environment.</p>
</li>
<li>
<p>WSL and virtual machine users should be aware that, if you use your web<br>
browser to download the package, you will need to make it accessible to<br>
the command line environment. For this reason, we recommend downloading the<br>
package from the command line directly using a tool like <code>wget</code>. For<br>
example, you could copy the package download URL and then type:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="wget <package-download-url>"><pre class="notranslate"><code>wget <package-download-url>
</code></pre></div>
<p>where <code><package-download-url></code> is replaced by the URL you just copied.</p>
</li>
<li>
<p>K depends on version 4.8.15 of Z3, which may not be supplied by package<br>
managers. If this is the case, it should be built and installed from source<br>
following the<br>
<a href="https://github.com/Z3Prover/z3#building-z3-using-cmake">instructions</a> in<br>
the Z3 repository. Other versions (older and newer) are not supported by K,<br>
and may lead to incorrect behaviour or performance issues.</p>
</li>
</ul>
<h2>Downloading Packages</h2>
<p>Download the appropriate package from the GitHub, via the<br>
<a href="https://github.com/runtimeverification/k/releases">Releases</a> page.<br>
Releases are generated as often as possible from <code>master</code> build.</p>
<h2>Installing Packages</h2>
<p>For version <code>X.Y.Z</code>, distribution <code>DISTRO</code>, and package ID <code>ID</code>, the following<br>
instructions tell you how to install on each system. Note that this typically<br>
requires about ~1.4GB of dependencies and will take some time.</p>
<ul>
<li>On Linux systems, K will typically be installed under <code>/usr</code>.</li>
<li>On macOS/brew, K will typically be installed under <code>/usr/local</code>.</li>
</ul>
<h3>Ubuntu Jammy (22.04)</h3>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="sudo apt install ./kframework_amd64_ubuntu_jammy.deb"><pre>sudo apt install ./kframework_amd64_ubuntu_jammy.deb</pre></div>
<h3>macOS (Homebrew)</h3>
<p><a href="https://brew.sh/" rel="nofollow">Homebrew</a> (or just brew) is a third-party package manager<br>
for MacOS.<br>
If you have not installed brew, you must do so before installing the K<br>
Framework brew package.</p>
<p>With brew installed, do the following to install the K Framework brew package<br>
(with build number <code>BN</code>):</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="brew install kframework--X.Y.Z.ID.bottle.BN.tar.gz -v"><pre>brew install kframework--X.Y.Z.ID.bottle.BN.tar.gz -v</pre></div>
<h4>Homebrew Alternate Installation</h4>
<p>To directly install the latest K Framework brew package without needing to<br>
download it separately, do the following:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="brew install runtimeverification/k/kframework"><pre>brew install runtimeverification/k/kframework</pre></div>
<p>Or, to streamline future K Framework upgrades, you can <code>tap</code> the K Framework<br>
package repository. This lets future installations/upgrades/etc... use the<br>
unprefixed package name.</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="brew tap runtimeverification/k
brew install kframework"><pre>brew tap runtimeverification/k
brew install kframework</pre></div>
<h3>Docker Images</h3>
<p>Docker images with K pre-installed are available at the<br>
<a href="https://hub.docker.com/repository/docker/runtimeverificationinc/kframework-k" rel="nofollow">runtimeverification/kframework-k Docker Hub repository</a>.</p>
<p>Each release at <code>COMMIT_ID</code> has an image associated with it at<br>
<code>runtimeverificationinc/kframework-k:ubuntu-jammy-COMMIT_ID</code>.</p>
<p>To run the image directly:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="docker run -it runtimeverificationinc/kframework-k:ubuntu-jammy-COMMIT_ID"><pre>docker run -it runtimeverificationinc/kframework-k:ubuntu-jammy-COMMIT_ID</pre></div>
<p>and to make a Docker Image based on it, use the following line in your<br>
<code>Dockerfile</code>:</p>
<div class="highlight highlight-source-dockerfile notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="FROM runtimeverificationinc/kframework-k:ubuntu-jammy-COMMIT_ID"><pre><span class="pl-k">FROM</span> runtimeverificationinc/kframework-k:ubuntu-jammy-COMMIT_ID</pre></div>
<p>We also create Ubuntu 22.04 images with the <code>ubuntu-jammy-COMMIT_ID</code> tags.</p>
<h2>Testing Packages</h2>
<p>The easiest way to test the K package is to copy a K tutorial language and<br>
check if you can compile and run an included example.</p>
<ol>
<li>
<p>Start by cloning the K tutorial from the <a href="https://www.github.com/runtimeverification/pl-tutorial">K PL Tutorial</a>. This command typically will be like:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="$ git clone https://www.github.com/runtimeverification/pl-tutorial"><pre>$ git clone https://www.github.com/runtimeverification/pl-tutorial</pre></div>
</li>
<li>
<p>Now you can try to run some programs:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="$ cd pl-tutorial/2_languages/1_simple/1_untyped
$ make kompile
$ krun tests/diverse/factorial.simple"><pre>$ <span class="pl-c1">cd</span> pl-tutorial/2_languages/1_simple/1_untyped
$ make kompile
$ krun tests/diverse/factorial.simple</pre></div>
</li>
</ol>rv-jenkinstag:github.com,2008:Repository/50041690/v7.1.3052025-12-13T22:53:13ZK Framework Release v7.1.305<p>K Framework Release v7.1.305</p>
<hr>
<h2>copyright: Copyright (c) Runtime Verification, Inc. All Rights Reserved.</h2>
<h1>Installing the K Framework</h1>
<h2>Fast Installation (preferred)</h2>
<p>The preferred way to install K is the <code>kup</code> tool, which is based on <a href="https://nixos.org/download.html" rel="nofollow">Nix</a>.<br>
No knowledge of Nix is required to use <code>kup</code>.</p>
<p>Install <code>kup</code> and <code>K</code> by running the following:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="bash <(curl https://kframework.org/install)
kup install k"><pre>bash <span class="pl-s"><span class="pl-pds"><(</span>curl https://kframework.org/install<span class="pl-pds">)</span></span>
kup install k</pre></div>
<p>List available versions with:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="kup list k"><pre>kup list k</pre></div>
<p>If <code>kup</code> indicates that there's a newer version, you can update by simply running:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="kup install k"><pre>kup install k</pre></div>
<p>To install a specific version, run:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="kup install k --version v6.3.11"><pre>kup install k --version v6.3.11</pre></div>
<p>Note that the versions marked as ✅ are cached in Runtime Verification's Nix binary cache and thus are the fastest to install.</p>
<h2>Install through packages</h2>
<p>We currently strive to provide packages for the following platforms:</p>
<ul>
<li>Ubuntu Jammy Jellyfish (22.04)</li>
<li>macOS Ventura (13) via Homebrew</li>
<li>Docker Images</li>
</ul>
<h2>Pre-installation Notes</h2>
<ul>
<li>
<p>We <strong>do not</strong> currently support running K natively on Windows. To use K on<br>
Windows 10, you are encouraged to install the<br>
<a href="https://docs.microsoft.com/en-us/windows/wsl/install-win10" rel="nofollow">Windows Subsystem for Linux (version 2)</a><br>
and follow the instructions for installing Ubuntu Jammy.</p>
<p>If you have already installed WSL, before proceeding, you will need to<br>
enter the WSL environment. You can do this by:</p>
<ol>
<li>opening up the command prompt (accessible by searching <code>cmd</code> or<br>
<code>command prompt</code> from the start menu);</li>
<li>using the <code>wsl.exe</code> command to access the WSL environment.</li>
</ol>
</li>
<li>
<p>To use K in other non-linux environments (e.g. Windows 8 or earlier),<br>
you will need to use a virtual machine (VM) software. We assume you have:</p>
<ol>
<li>Created a virtual machine</li>
<li>Installed a Linux distribution (e.g. Ubuntu Jammy Jellyfish) on your<br>
virtual machine</li>
</ol>
<p>Consult your virtual machine software if you need help with the above<br>
steps. We recommend the free VirtualBox virtual machine software.</p>
<p>Before proceeding, follow the virtual machine softare UI to start your<br>
Linux virtual machine and enter the command line environment.</p>
</li>
<li>
<p>WSL and virtual machine users should be aware that, if you use your web<br>
browser to download the package, you will need to make it accessible to<br>
the command line environment. For this reason, we recommend downloading the<br>
package from the command line directly using a tool like <code>wget</code>. For<br>
example, you could copy the package download URL and then type:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="wget <package-download-url>"><pre class="notranslate"><code>wget <package-download-url>
</code></pre></div>
<p>where <code><package-download-url></code> is replaced by the URL you just copied.</p>
</li>
<li>
<p>K depends on version 4.8.15 of Z3, which may not be supplied by package<br>
managers. If this is the case, it should be built and installed from source<br>
following the<br>
<a href="https://github.com/Z3Prover/z3#building-z3-using-cmake">instructions</a> in<br>
the Z3 repository. Other versions (older and newer) are not supported by K,<br>
and may lead to incorrect behaviour or performance issues.</p>
</li>
</ul>
<h2>Downloading Packages</h2>
<p>Download the appropriate package from the GitHub, via the<br>
<a href="https://github.com/runtimeverification/k/releases">Releases</a> page.<br>
Releases are generated as often as possible from <code>master</code> build.</p>
<h2>Installing Packages</h2>
<p>For version <code>X.Y.Z</code>, distribution <code>DISTRO</code>, and package ID <code>ID</code>, the following<br>
instructions tell you how to install on each system. Note that this typically<br>
requires about ~1.4GB of dependencies and will take some time.</p>
<ul>
<li>On Linux systems, K will typically be installed under <code>/usr</code>.</li>
<li>On macOS/brew, K will typically be installed under <code>/usr/local</code>.</li>
</ul>
<h3>Ubuntu Jammy (22.04)</h3>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="sudo apt install ./kframework_amd64_ubuntu_jammy.deb"><pre>sudo apt install ./kframework_amd64_ubuntu_jammy.deb</pre></div>
<h3>macOS (Homebrew)</h3>
<p><a href="https://brew.sh/" rel="nofollow">Homebrew</a> (or just brew) is a third-party package manager<br>
for MacOS.<br>
If you have not installed brew, you must do so before installing the K<br>
Framework brew package.</p>
<p>With brew installed, do the following to install the K Framework brew package<br>
(with build number <code>BN</code>):</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="brew install kframework--X.Y.Z.ID.bottle.BN.tar.gz -v"><pre>brew install kframework--X.Y.Z.ID.bottle.BN.tar.gz -v</pre></div>
<h4>Homebrew Alternate Installation</h4>
<p>To directly install the latest K Framework brew package without needing to<br>
download it separately, do the following:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="brew install runtimeverification/k/kframework"><pre>brew install runtimeverification/k/kframework</pre></div>
<p>Or, to streamline future K Framework upgrades, you can <code>tap</code> the K Framework<br>
package repository. This lets future installations/upgrades/etc... use the<br>
unprefixed package name.</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="brew tap runtimeverification/k
brew install kframework"><pre>brew tap runtimeverification/k
brew install kframework</pre></div>
<h3>Docker Images</h3>
<p>Docker images with K pre-installed are available at the<br>
<a href="https://hub.docker.com/repository/docker/runtimeverificationinc/kframework-k" rel="nofollow">runtimeverification/kframework-k Docker Hub repository</a>.</p>
<p>Each release at <code>COMMIT_ID</code> has an image associated with it at<br>
<code>runtimeverificationinc/kframework-k:ubuntu-jammy-COMMIT_ID</code>.</p>
<p>To run the image directly:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="docker run -it runtimeverificationinc/kframework-k:ubuntu-jammy-COMMIT_ID"><pre>docker run -it runtimeverificationinc/kframework-k:ubuntu-jammy-COMMIT_ID</pre></div>
<p>and to make a Docker Image based on it, use the following line in your<br>
<code>Dockerfile</code>:</p>
<div class="highlight highlight-source-dockerfile notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="FROM runtimeverificationinc/kframework-k:ubuntu-jammy-COMMIT_ID"><pre><span class="pl-k">FROM</span> runtimeverificationinc/kframework-k:ubuntu-jammy-COMMIT_ID</pre></div>
<p>We also create Ubuntu 22.04 images with the <code>ubuntu-jammy-COMMIT_ID</code> tags.</p>
<h2>Testing Packages</h2>
<p>The easiest way to test the K package is to copy a K tutorial language and<br>
check if you can compile and run an included example.</p>
<ol>
<li>
<p>Start by cloning the K tutorial from the <a href="https://www.github.com/runtimeverification/pl-tutorial">K PL Tutorial</a>. This command typically will be like:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="$ git clone https://www.github.com/runtimeverification/pl-tutorial"><pre>$ git clone https://www.github.com/runtimeverification/pl-tutorial</pre></div>
</li>
<li>
<p>Now you can try to run some programs:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="$ cd pl-tutorial/2_languages/1_simple/1_untyped
$ make kompile
$ krun tests/diverse/factorial.simple"><pre>$ <span class="pl-c1">cd</span> pl-tutorial/2_languages/1_simple/1_untyped
$ make kompile
$ krun tests/diverse/factorial.simple</pre></div>
</li>
</ol>rv-jenkins