Git Product home page Git Product logo

coq-combi's Introduction

Coq-Combi

Formalisation of (algebraic) combinatorics in Coq/MathComp.

Nix CI for coq8.17-mc2.1.0 Nix CI for coq8.18-mc2.1.0

Nix CI for coq8.17-mc2.2.0 Nix CI for coq8.18-mc2.2.0 Nix CI for coq8.19-mc2.2.0

Authors

Florent Hivert [email protected]

Contributors:

  • Thibaut Benjamin (representation theory of the symmetric groups)
  • Jean Christophe Filliâtre (Why3 implementation)
  • Christine Paulin (SSreflect binding for ALEA + hook length formula)
  • Olivier Stietel (hook length formula)
  • Cyril Cohen (MathComp compatibility + nix)

This library was supported by additional discussions with:

  • Kazuhiko Sakaguchi (port on MathComp2 / Hierarchy Builder)
  • Georges Gonthier
  • Assia Mahoubi
  • Pierre Yves Strub
  • the SSReflect mailing list

The project was transferred to mathcomp on 2021-10-20.

Contents

  • basic theory of symmetric functions including

    • Schur function and Kostka numbers and the equivalence of the combinatorial and algebraic (Jacobi) definition of Schur polynomials

    • the classical bases, Newton formulas and various basis changes

    • the scalar product and the Cauchy formula

  • the Littlewood-Richardson rule using Schützenberger approach, it includes

    • the Robinson-Schensted correspondence

    • the construction of the plactic monoïd using Greene invariants

    • the Littlewood-Richardson and Pieri rules using the combinatorial (tableau) definition of Schur polynomials.

    After A. Lascoux, B. Leclerc and J.-Y. Thibon, "The Plactic Monoid" in Lothaire, M. (2011), Algebraic combinatorics on words, Cambridge University Press With variant described in G. Duchamp, F. Hivert, and J.-Y. Thibon, Noncommutative symmetric functions VI. Free quasi-symmetric functions and related algebras. Internat. J. Algebra Comput. 12 (2002), 671–717.

  • the Murnaghan-Nakayama rule for converting power sum to Schur function, it includes

    • two recursive implementations building the tableau upward or downward

    • a skew version multiplying a Schur function by a power sum expanding the result on Schur functions.

  • the character theory of the symmetric Groups. We do not use representations but rather goes as fast as possible to Frobenius isomorphism and then uses computations with symmetric polynomials. It includes

    • cycle types for permutations (together with Thibaut Benjamin)

    • The tower structure and the restriction and induction formulas for class indicator (together with Thibaut Benjamin)

    • the structure of the centralizer of a permutation

    • Young character and Young Rule

    • the theory of Frobenius characteristic and Frobenius character formula

    • the Murnaghan-Nakayama rule for evaluating irreducible characters

    • the Littlewood-Richardson rule for inducing irreducible characters

  • the Hook-Length Formula for standard Young tableaux (together with Christine Paulin and Olivier Stietel). We follow closely

    Greene, C., Nijenhuis, A. and Wilf, H. S. (1979) A probabilistic proof of a formula for the number of Young tableaux of a given shape. Adv. in Math. 31, 104–109.

  • the Erdös Szekeres theorem about increassing and decreassing subsequences

    from Greene's invariants theorem.

  • various Combinatorial objects including

    • integer partitions and compositions, together with Young's and dominance lattices
    • skew partition, horizontal, vertical and ribbon border strip
    • tableaux, standard tableaux, skew tableaux
    • subsequences, integer vectors
    • standard words, permutations and the standardization map
    • Yamanouchi word
    • binary trees, Dyck words and Catalan numbers
    • set partition and refinement order
  • the Coxeter presentation of the symmetric group.

    We formalize:

    • presentation of the symmetric group generated by elementary transpositions
    • Matsumoto theorem saying that two reduced words give the same permutation iff they are equivalent under braid relations
    • the Coxeter length and the inversion set
    • the dual Lehmer code of a permutation
    • the weak permutohedron lattice
  • the factorization of the Vandermonde determinant as the product of differences.

  • the Tamari lattice on binary trees.

  • the formula for Catalan numbers counting binary trees and Dyck words.

    I use a bijective proof using rotations. There is a generating function proof available in https://github.com/hivert/FormalPowerSeries which I plan to merge here at some points.

Documentation

Various unstable/unfinished experiments:

Installation

This library is based on

  • SSReflect/MathComp 2 Library version 2.1.0 or more recent.

Here are the Opam packages I'm using

coq-hierarchy-builder     1.6.0
coq-mathcomp-ssreflect    2.1.0
coq-mathcomp-algebra      2.1.0
coq-mathcomp-field        2.1.0
coq-mathcomp-fingroup     2.1.0
coq-mathcomp-character    2.1.0
coq-mathcomp-multinomials 2.1.0

coq-combi's People

Contributors

hivert avatar thibautbenjamin avatar ostietel avatar cohencyril 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.