algebraic-graphs / agda

Licence: MIT License
The theory of algebraic graphs formalised in Agda

Programming Languages

Agda
84 projects
shell
77523 projects

Projects that are alternatives of or similar to agda

Alga
Algebraic graphs
Stars: ✭ 619 (+823.88%)
Mutual labels:  algebra, graph
Typescript
Algebraic graphs implementation in TypeScript
Stars: ✭ 107 (+59.7%)
Mutual labels:  algebra, graph
Alga Paper
A minimalistic, elegant and powerful approach to working with graphs in a functional programming language
Stars: ✭ 163 (+143.28%)
Mutual labels:  algebra, graph
org-agda-mode
An Emacs mode for working with Agda code in an Org-mode like fashion, more or less.
Stars: ✭ 14 (-79.1%)
Mutual labels:  agda
msla2014
wherein I implement several substructural logics in Agda
Stars: ✭ 24 (-64.18%)
Mutual labels:  agda
gentle-intro-to-reflection
A slow-paced introduction to reflection in Agda. ---Tactics!
Stars: ✭ 58 (-13.43%)
Mutual labels:  agda
purescript-d3-tagless-II
Tagless final style interpreter / wrapper for D3 in PureScript, latest of many re-writes
Stars: ✭ 28 (-58.21%)
Mutual labels:  graph
AlgebraicRelations.jl
Relational Algebra, now with more algebra!
Stars: ✭ 31 (-53.73%)
Mutual labels:  algebra
cubical-1lab
A formalised, cross-linked reference resource for mathematics done in Homotopy Type Theory
Stars: ✭ 93 (+38.81%)
Mutual labels:  agda
MtacAR
Mtac in Agda
Stars: ✭ 29 (-56.72%)
Mutual labels:  agda
cain
Category theory applied to functional programming (undergraduate project)
Stars: ✭ 27 (-59.7%)
Mutual labels:  agda
oxygenjs
This a JavaScript Library for the Numerical Javascript and Machine Learning
Stars: ✭ 13 (-80.6%)
Mutual labels:  algebra
Euler
The open-source computational framework for the Swift language
Stars: ✭ 37 (-44.78%)
Mutual labels:  algebra
agda-mode-vscode
agda-mode on VS Code
Stars: ✭ 112 (+67.16%)
Mutual labels:  agda
racket-graphviz
Library to enable using graphviz in Racket programs
Stars: ✭ 20 (-70.15%)
Mutual labels:  graph
ConsHoTT
Constructive Interpretations of HoTT
Stars: ✭ 33 (-50.75%)
Mutual labels:  agda
klefki
Klefki is a playground for researching elliptic curve group based algorithm, such as MPC, ZKP and HE. All data types & structures are based on mathematical defination of abstract algebra.
Stars: ✭ 12 (-82.09%)
Mutual labels:  algebra
relational
Educational tool for relational algebra
Stars: ✭ 70 (+4.48%)
Mutual labels:  algebra
swm-core
Pure Math in Pure Swift.
Stars: ✭ 190 (+183.58%)
Mutual labels:  algebra
radb
RA (radb): A relational algebra interpreter over relational databases
Stars: ✭ 48 (-28.36%)
Mutual labels:  algebra

The theory of algebraic graphs

Build Status

We use Agda to formalise the theory of algebraic graphs and prove a few key theorems.

Code overview

This repository is fully self-contained and does not depend on any Agda libraries. We use this Travis build script for continuous verification of the proofs. To verify whether your implementation is correct, you can invoke the verify.sh script.

Below we describe the purpose of all source files contained in the src directory.

  • Inside the Algebra folder, we define the following structures:

    • Dioid, a semiring (or rng) where the + operation is idempotent.
    • Bool, an implementation of a dioid.
    • ShortestDistance, another instance.
    • Graph, an algebraic graphs.
    • LabelledGraph, an extension of a Graph.

    for each of these there are three files:

    • Structure.agda, the main implementation.
    • Structure/Reasoning.agda, syntactic sugar for writing equational proofs.
    • Structure/Theorems.agda, some theorems of the structure.
  • Prelude defines products, lists and other functionality for describing Haskell APIs.

  • API defines key functions from the API of the algebraic-graphs library.

  • API/Theorems proves theorems of the API.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].