Keiishu / ProgProving

ProgProving is a LaTeX package that aims to help people prove their codes.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ProgProving

ProgProving is a LaTeX package that aims to help people prove their codes.

Requirements

ProgProving requires:

Download

You can find the downloads for each version with their release notes in the releases page.

Installation

You can install ProgProving by downloading the package to your folder and importing it into your LaTeX files using :

\usepackage{progproving}

Documentation

ProgProving State

This command allows you to easily display the state of a program.

Requires Math mode

Usage :

\state{<constraints>}

Example :

\state{x = 1}

Example output :

{x = 1}

ProgProving Sequence of Instructions

This command allows you to easily display a sequence of instructions.

Usage :

\seq{<instructions>}

Example :

\seq{
    & x := 1; \\
    & y := 2;
}

Example output :

x := 1;
y := 2;

ProgProving sp

This command allows you to easily display a sp.

Requires Math mode

Usage :

\ppsp{<instruction>}{<state>}

Example :

\ppsp{x := 2}{\state{x = 1}}

Example output :

sp(x := 2,{x = 1})

ProgProving wp

This command allows you to easily display a wp.

Requires Math mode

Usage :

\ppwp{<instruction>}{<state>}

Example :

\ppwp{x := 2}{\state{x = 1}}

Example output :

wp(x := 2,{x = 1})

ProgProving Precondition (P)

This command allows you to easily display the precondition letter.

Usage :

\pre

ProgProving Postcondition (Q)

This command allows you to easily display the postcondition letter.

Usage :

\post

ProgProving Invariant (I)

This command allows you to easily display the invariant letter.

Usage :

\inv

ProgProving Loop Condition (B)

This command allows you to easily display the loop condition letter.

Usage :

\cond

ProgProving Loop Precondition (R)

This command allows you to easily display the loop precondition letter.

Usage :

\lpre

ProgProving Loop Postcondition (T)

This command allows you to easily display the loop postcondition letter.

Usage :

\lpost

ProgProving Loop Initialisation (INIT)

This command allows you to easily display the loop initialisation letters.

Usage :

\init

ProgProving Loop Iteration (ITER)

This command allows you to easily display the loop iteration letters.

Usage :

\iter

ProgProving Loop Termination (TERM)

This command allows you to easily display the loop termination letters.

Usage :

\term

Developers

Contributors

You can find all contributors here.

License

All code is licensed for others under MIT (see LICENSE).

About

ProgProving is a LaTeX package that aims to help people prove their codes.

License:MIT License


Languages

Language:TeX 100.0%