Skip to content

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

License

Notifications You must be signed in to change notification settings

BergLucas/ProgProving

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

Resources

License

Stars

Watchers

Forks

Languages