Giter Site home page Giter Site logo

agda-math's Introduction

agda-math

An alternative construction of basic algebraic structures other than the Agda standard library

Motivation

  • Instead of parameterizing the structures on certain carriers by equivalence relations, as the Agda standard library does, in this repository are the structures parameterized by not and not only equivalence relations, but an equiality relation and also predicates on the carriers.

  • The motivation came when I tried to define Field using the standard library.

    • When defining Field, it is unavoidable to deal with substructures.
    • When we wrap the subtype information into the carriers, we do get rid of defining nor proving closures.
    • However, we will have to explicitly differenciate between the elements of a structure and those of the substructures, with different types and names.
  • In the alternative here, every structure is defined over a carrying type, with an equivalence relation and a predicate.

    • Elements under the same carrier share their names , while having different properties with the equivalence and the predicate, which indecates the substructures where they could belong.
    • This simplifies the notations when operating on the elements.
    • However, the subtype information hides into the proof, as the closure properties.
  • Basic reasoning for preorders, equivalences, and ordered sets on such definition for structures are also provided.

Content

  • Basic
    • Logic : where basic logical tools are defined or import publiclym which depends on the Agda standart library
    • Properties : basic properties when defining algebraic structures
    • Subtype : basic operations for predicates
    • Setoid (Set) : a type equipped with a predicate and an equality relation
    • Equality : where the proprositional equality is redifined
    • Morphism : basic properties of functions
  • Reasoning : alternative reasoning tools under a predicate
  • Algebra
    • Semigroup, Monoid, Group : Sets equipped with a binary operation
    • Ring, DivisionRing, Field : Sets equipped with two binary operations
    • Linear.VectorSpace : an AbelianGroup with a Field acting on it
  • Analysis
    • OrderedSet : a Set equipped with a total order
    • OrderedField : a Field equipped with a total order. Limits, supremum, and completeness are defined here.
    • CompleteOrderedField : the Real number
  • Number : the construction of the number system
    • Natural
    • Cardinality : defines countability, infiniteness, and finiteness

Dependences on the Agda standard Library

  • Reasoning.Preorder : Relation.Binary.PropositionalEquality
  • Basic.Equality : Relation.Binary.PropositionalEquality
  • Badic.Logic : Data.Sum, Data.Product, Data.Empty, Relation.Nullary, Function
  • Numebr.Natural : Data.Nat

agda-math's People

Contributors

b04902047 avatar

Stargazers

Yu-Ren avatar E avatar Borja Sierra avatar  avatar c88tm avatar Peter avatar ninichang avatar Jackson Lo avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.