Pi Squared
HomeAbout UsCareersDeveloperResourcesBlog
  • Pi Squared
  • VSL Devnet
  • Pi Squared Docs
  • Verifiable Settlement Layer
    • Overview
    • Architecture
    • Applications
  • K Framework
    • Overview
    • Formal Semantics
  • LLVM-K Backend
  • Proof of Proof
    • Overview
  • Architecture
  • Math Proof Generation
  • Math Proof Checker
  • ZK Proof Generation
  • Applications
Powered by GitBook
On this page

Was this helpful?

  1. Core technologies

Formal Semantics & the K Framework

Last updated 14 days ago

Was this helpful?

An easy way to understand the K framework is to see it as a meta-language that can implement or define other programming languages.

In the K framework, a language definition consists of two modules: one defining the syntax and the other defining the semantics using rewrite rules.

  • Syntax: Defined using BNF grammar.

  • Semantics: Defined using rewrite rules that specify how a program executes.

A configuration is a term that contains all the necessary information to execute programs, including the code and the program state.

Formal semantics are defined using rewrite rules that describe how configurations change during program execution.

The K framework provides a suite of tools, including, , , , and .

For a detailed description of formal semantics and the K framework, please see our .

parsers
interpreters
model checkers
symbolic execution engines
formal program verifiers
K section