93
Constructive mathematics Computable ABELian categories Computable A BELian categories and constructive homological algebra Mohamed Barakat University of Kaiserslautern Workshop on Computational Commutative Algebra July 2011, Tehran joint work with Markus Lange-Hegermann Mohamed Barakat Computable ABELian categories

Computable Abelian categories and constructive homological ...math.ipm.ac.ir › conferences › 2011 › cca2011 › Axiomatic-Barakat.pdf · Constructive mathematics Computable

  • Upload
    others

  • View
    5

  • Download
    1

Embed Size (px)

Citation preview

Constructive mathematicsComputable ABELian categories

Computable ABELian categories andconstructive homological algebra

Mohamed Barakat

University of Kaiserslautern

Workshop on Computational Commutative AlgebraJuly 2011, Tehran

joint work withMarkus Lange-Hegermann

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Classical vs. constructive mathematicsData structures, algorithms, and knowledge

Overview

1 Constructive mathematicsClassical vs. constructive mathematicsData structures, algorithms, and knowledge

2 Computable ABELian categories

Data structures and some algorithms

Axioms of an ABELian category

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Classical vs. constructive mathematicsData structures, algorithms, and knowledge

Excluded middle

Theorem

There exists a, b ∈ R \Q such that ab ∈ Q.

Proof by excluded middle.

Start with a =√2 and b =

√2. We distinguish two cases:

1 If ab ∈ Q then done.2 Otherwise redefine a := ab. Then ab = 2 ∈ Q, done.

In classical mathematics we accept such proofs.

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Classical vs. constructive mathematicsData structures, algorithms, and knowledge

Excluded middle

Theorem

There exists a, b ∈ R \Q such that ab ∈ Q.

Proof by excluded middle.

Start with a =√2 and b =

√2. We distinguish two cases:

1 If ab ∈ Q then done.2 Otherwise redefine a := ab. Then ab = 2 ∈ Q, done.

In classical mathematics we accept such proofs.

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Classical vs. constructive mathematicsData structures, algorithms, and knowledge

Excluded middle

Theorem

There exists a, b ∈ R \Q such that ab ∈ Q.

Proof by excluded middle.

Start with a =√2 and b =

√2. We distinguish two cases:

1 If ab ∈ Q then done.2 Otherwise redefine a := ab. Then ab = 2 ∈ Q, done.

In classical mathematics we accept such proofs.

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Classical vs. constructive mathematicsData structures, algorithms, and knowledge

Proof by contradiction

The logical axiom we used was the so-called

excluded middle

A ∨ ¬A =⇒ ⊤

which is, using the other axioms, equivalent to a

proof by contradiction

¬¬A =⇒ A

And it is exactly these axioms which are forbidden inconstructive mathematics.

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Classical vs. constructive mathematicsData structures, algorithms, and knowledge

Proof by contradiction

The logical axiom we used was the so-called

excluded middle

A ∨ ¬A =⇒ ⊤

which is, using the other axioms, equivalent to a

proof by contradiction

¬¬A =⇒ A

And it is exactly these axioms which are forbidden inconstructive mathematics.

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Classical vs. constructive mathematicsData structures, algorithms, and knowledge

Proof by contradiction

The logical axiom we used was the so-called

excluded middle

A ∨ ¬A =⇒ ⊤

which is, using the other axioms, equivalent to a

proof by contradiction

¬¬A =⇒ A

And it is exactly these axioms which are forbidden inconstructive mathematics.

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Classical vs. constructive mathematicsData structures, algorithms, and knowledge

Constructive existential quantifiers

The generalization of ∨ is the existential quantifier1 ∃.

Constructive mathematicsIn constructive mathematics we require that all existentialquantifiers are constructive, i.e., realizable by an algorithm.

In particular, we do not accept

¬∃ =⇒ ⊥

as a proof. We always want a witness!

1Polish mathematicians even write∨

.Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Classical vs. constructive mathematicsData structures, algorithms, and knowledge

Constructive existential quantifiers

The generalization of ∨ is the existential quantifier1 ∃.

Constructive mathematicsIn constructive mathematics we require that all existentialquantifiers are constructive, i.e., realizable by an algorithm.

In particular, we do not accept

¬∃ =⇒ ⊥

as a proof. We always want a witness!

1Polish mathematicians even write∨

.Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Classical vs. constructive mathematicsData structures, algorithms, and knowledge

Constructive existential quantifiers

The generalization of ∨ is the existential quantifier1 ∃.

Constructive mathematicsIn constructive mathematics we require that all existentialquantifiers are constructive, i.e., realizable by an algorithm.

In particular, we do not accept

¬∃ =⇒ ⊥

as a proof. We always want a witness!

1Polish mathematicians even write∨

.Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Classical vs. constructive mathematicsData structures, algorithms, and knowledge

Constructive existential quantifiers

The generalization of ∨ is the existential quantifier1 ∃.

Constructive mathematicsIn constructive mathematics we require that all existentialquantifiers are constructive, i.e., realizable by an algorithm.

In particular, we do not accept

¬∃ =⇒ ⊥

as a proof. We always want a witness!

1Polish mathematicians even write∨

.Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Classical vs. constructive mathematicsData structures, algorithms, and knowledge

Data structures, algorithms, and knowledge

When doing constructive mathematics on a computer we haveto model mathematical objects by some data and existenceproofs by algorithms acting on these data. Very often we canavoid computations based on our mathematical knowledge.

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Classical vs. constructive mathematicsData structures, algorithms, and knowledge

Data structures, algorithms, and knowledge

When doing constructive mathematics on a computer we haveto model mathematical objects by some data and existenceproofs by algorithms acting on these data. Very often we canavoid computations based on our mathematical knowledge.

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Classical vs. constructive mathematicsData structures, algorithms, and knowledge

Data structures for mathematical objects

matrices and their operations

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Classical vs. constructive mathematicsData structures, algorithms, and knowledge

Data structures for mathematical objects

modules and their maps

matrices and their operations

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Classical vs. constructive mathematicsData structures, algorithms, and knowledge

Data structures for mathematical objects

graded modules and their maps

modules and their maps

matrices and their operations

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Classical vs. constructive mathematicsData structures, algorithms, and knowledge

Data structures for mathematical objects

coherent sheaves on a proj. schemeand their morphisms

graded modules and their maps

modules and their maps

matrices and their operations

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Classical vs. constructive mathematicsData structures, algorithms, and knowledge

Data structures for mathematical objects

...

coherent sheaves on a proj. schemeand their morphisms

graded modules and their maps

modules and their maps

matrices and their operations

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Classical vs. constructive mathematicsData structures, algorithms, and knowledge

Data structures for mathematical objects

...

coherent sheaves on a proj. schemeand their morphisms

graded modules and their maps

modules and their maps

matrices and their operations(±,·, bases syzygies, reduction)

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Classical vs. constructive mathematicsData structures, algorithms, and knowledge

Data structures for mathematical objects

...

coherent sheaves on a proj. schemeand their morphisms

graded modules and their maps

modules and their maps

matrices and their operations(±,·, bases syzygies, reduction)

SINGULAR, MAGMA,Macaulay2, Maple, ...

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Classical vs. constructive mathematicsData structures, algorithms, and knowledge

Data structures for mathematical objects

...

coherent sheaves on a proj. schemeand their morphisms

graded modules and their maps

modules and their maps

model onto

matrices and their operations(±,·, bases syzygies, reduction)

SINGULAR, MAGMA,Macaulay2, Maple, ...

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Classical vs. constructive mathematicsData structures, algorithms, and knowledge

Data structures for mathematical objects

...

coherent sheaves on a proj. schemeand their morphisms

graded modules and their maps

modules and their maps

model onto

GAP4

matrices and their operations(±,·, bases syzygies, reduction)

SINGULAR, MAGMA,Macaulay2, Maple, ...

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Classical vs. constructive mathematicsData structures, algorithms, and knowledge

Data structures for mathematical objects

...

coherent sheaves on a proj. schemeand their morphisms

graded modules and their maps

modules and their maps

model onto

GAP4

outsource

matrices and their operations(±,·, bases syzygies, reduction)

SINGULAR, MAGMA,Macaulay2, Maple, ...

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Classical vs. constructive mathematicsData structures, algorithms, and knowledge

Data structures for mathematical objects

...

coherent sheaves on a proj. schemeand their morphisms

graded modules and their maps

model onto

modules and their maps

model onto

GAP4

outsource

matrices and their operations(±,·, bases syzygies, reduction)

SINGULAR, MAGMA,Macaulay2, Maple, ...

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Classical vs. constructive mathematicsData structures, algorithms, and knowledge

Data structures for mathematical objects

...

coherent sheaves on a proj. schemeand their morphisms

graded modules and their maps

model onto

GAP4

modules and their maps

model onto

GAP4

outsource

matrices and their operations(±,·, bases syzygies, reduction)

SINGULAR, MAGMA,Macaulay2, Maple, ...

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Classical vs. constructive mathematicsData structures, algorithms, and knowledge

Data structures for mathematical objects

...

coherent sheaves on a proj. schemeand their morphisms

graded modules and their maps

model onto

GAP4

modules and their maps

model onto

GAP4

outsource

matrices and their operations(±,·, bases syzygies, reduction)

SINGULAR, MAGMA,Macaulay2, Maple, ...

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Classical vs. constructive mathematicsData structures, algorithms, and knowledge

Data structures for mathematical objects

...

coherent sheaves on a proj. schemeand their morphisms

model onto

graded modules and their maps

model onto

GAP4

modules and their maps

model onto

GAP4

outsource

matrices and their operations(±,·, bases syzygies, reduction)

SINGULAR, MAGMA,Macaulay2, Maple, ...

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Classical vs. constructive mathematicsData structures, algorithms, and knowledge

Data structures for mathematical objects

...

coherent sheaves on a proj. schemeand their morphisms

model onto

GAP4

graded modules and their maps

model onto

GAP4

modules and their maps

model onto

GAP4

outsource

matrices and their operations(±,·, bases syzygies, reduction)

SINGULAR, MAGMA,Macaulay2, Maple, ...

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Classical vs. constructive mathematicsData structures, algorithms, and knowledge

Data structures for mathematical objects

...

coherent sheaves on a proj. schemeand their morphisms

model onto

GAP4

graded modules and their maps

model onto

GAP4

modules and their maps

model onto

GAP4

outsource

matrices and their operations(±,·, bases syzygies, reduction)

SINGULAR, MAGMA,Macaulay2, Maple, ...

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Classical vs. constructive mathematicsData structures, algorithms, and knowledge

Data structures for mathematical objects

...

model onto

coherent sheaves on a proj. schemeand their morphisms

model onto

GAP4

graded modules and their maps

model onto

GAP4

modules and their maps

model onto

GAP4

outsource

matrices and their operations(±,·, bases syzygies, reduction)

SINGULAR, MAGMA,Macaulay2, Maple, ...

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Classical vs. constructive mathematicsData structures, algorithms, and knowledge

Data structures for mathematical objects

...

model onto

GAP4

coherent sheaves on a proj. schemeand their morphisms

model onto

GAP4

graded modules and their maps

model onto

GAP4

modules and their maps

model onto

GAP4

outsource

matrices and their operations(±,·, bases syzygies, reduction)

SINGULAR, MAGMA,Macaulay2, Maple, ...

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Classical vs. constructive mathematicsData structures, algorithms, and knowledge

Data structures for mathematical objects

...

model onto

GAP4

coherent sheaves on a proj. schemeand their morphisms

model onto

GAP4

graded modules and their maps

model onto

GAP4

modules and their maps

model onto

GAP4

outsource

matrices and their operations(±,·, bases syzygies, reduction)

SINGULAR, MAGMA,Macaulay2, Maple, ...

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Classical vs. constructive mathematicsData structures, algorithms, and knowledge

Data structures for mathematical objects

...

model onto

GAP4

coherent sheaves on a proj. schemeand their morphisms

model onto

GAP4

graded modules and their maps

model onto

GAP4

modules and their maps

model onto

GAP4

outsource

matrices and their operations(±,·, bases syzygies, reduction)

+logic

SINGULAR, MAGMA,Macaulay2, Maple, ...

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Classical vs. constructive mathematicsData structures, algorithms, and knowledge

Data structures for mathematical objects

...

model onto

GAP4

coherent sheaves on a proj. schemeand their morphisms

model onto

GAP4

graded modules and their maps

model onto

GAP4

modules and their maps

model onto

+logicGAP4

outsource

matrices and their operations(±,·, bases syzygies, reduction)

+logic

SINGULAR, MAGMA,Macaulay2, Maple, ...

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Classical vs. constructive mathematicsData structures, algorithms, and knowledge

Data structures for mathematical objects

...

model onto

GAP4

coherent sheaves on a proj. schemeand their morphisms

model onto

GAP4

graded modules and their maps

model onto

+logicGAP4

modules and their maps

model onto

+logicGAP4

outsource

matrices and their operations(±,·, bases syzygies, reduction)

+logic

SINGULAR, MAGMA,Macaulay2, Maple, ...

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Classical vs. constructive mathematicsData structures, algorithms, and knowledge

Data structures for mathematical objects

...

model onto

GAP4

coherent sheaves on a proj. schemeand their morphisms

model onto

+logicGAP4

graded modules and their maps

model onto

+logicGAP4

modules and their maps

model onto

+logicGAP4

outsource

matrices and their operations(±,·, bases syzygies, reduction)

+logic

SINGULAR, MAGMA,Macaulay2, Maple, ...

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Classical vs. constructive mathematicsData structures, algorithms, and knowledge

Combine knowledge and computations

knowledge-based computations

This is the main philosophy of the

homalg project(http://homalg.math.rwth-aachen.de)

and the original reason behind choosing GAP4 as theprogramming language.

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Classical vs. constructive mathematicsData structures, algorithms, and knowledge

Combine knowledge and computations

knowledge-based computations

This is the main philosophy of the

homalg project(http://homalg.math.rwth-aachen.de)

and the original reason behind choosing GAP4 as theprogramming language.

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Classical vs. constructive mathematicsData structures, algorithms, and knowledge

Combine knowledge and computations

knowledge-based computations

This is the main philosophy of the

homalg project(http://homalg.math.rwth-aachen.de)

and the original reason behind choosing GAP4 as theprogramming language.

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Classical vs. constructive mathematicsData structures, algorithms, and knowledge

SCO Sheaves homalg GAP4sparse comp.

Z/〈pn〉

SimplicialObjects

GradedModules

MatricesForHomalg

int.

Gauss

ExamplesForHomalg Modules Homalg

ToCAS

ResidueClassRingForHomalg

GradedRingForHomalg

LocalizeRingForHomalg

RingsForHomalg

GaussForHomalg

MapleForHomalg

SCSCPForHomalg

IO_ForHomalg

ext.

FuturePackage

Maple MAGMA Macaulay2 Sage GAP SINGULAR

Z[x, ∂],. . .

Z[x],F[x]

F[x],F[x, ∂],. . .

Z,. . .

Z,Z

〈pn〉

F[x],F[x, ∂],. . .

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Data structures and some algorithmsAxioms of an ABELian category

Overview

1 Constructive mathematicsClassical vs. constructive mathematicsData structures, algorithms, and knowledge

2 Computable ABELian categories

Data structures and some algorithms

Axioms of an ABELian category

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Data structures and some algorithmsAxioms of an ABELian category

Model modules and their maps on matrices

Matrices as data structure for modules and their maps

modules and their maps

model onto

+logicGAP4

outsource

matrices and their operations(±,·, bases syzygies, reduction)

+logic

SINGULAR, MAGMA,Macaulay2, Maple, ...

More precisely, we want to describe the category

R− fpmod

of finitely presented modules over a ring R.

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Data structures and some algorithmsAxioms of an ABELian category

Model modules and their maps on matrices

Matrices as data structure for modules and their maps

modules and their maps

model onto

+logicGAP4

outsource

matrices and their operations(±,·, bases syzygies, reduction)

+logic

SINGULAR, MAGMA,Macaulay2, Maple, ...

More precisely, we want to describe the category

R− fpmod

of finitely presented modules over a ring R.

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Data structures and some algorithmsAxioms of an ABELian category

Data structure for modules

A f.p. R-module M is given by a finite presentation

0 M Rr0 Rr1 .M

The presentation morphism M can be encoded as the matrixM ∈ Rr0×r1 , the so-called matrix of relations of M = coker M.

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Data structures and some algorithmsAxioms of an ABELian category

Data structure for module maps

Let0 M Rr0 Rr1

M

0 N Rr′0 Rr

′1

N

be two finitely presented module M = coker M and N = coker N.

Lemma

A matrix p ∈ Rr0×r′0 encodes a morphism ϕ :M → N if andonly if there exists a matrix x ∈ Rr1×r′1 such that

Mp = xN.

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Data structures and some algorithmsAxioms of an ABELian category

Data structure for module maps

Let0 M Rr0

p

Rr1M

0 N Rr′0 Rr

′1

N

be two finitely presented module M = coker M and N = coker N.

Lemma

A matrix p ∈ Rr0×r′0 encodes a morphism ϕ :M → N if andonly if there exists a matrix x ∈ Rr1×r′1 such that

Mp = xN.

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Data structures and some algorithmsAxioms of an ABELian category

Data structure for module maps

Let0 M

ϕ

Rr0

p

Rr1M

0 N Rr′0 Rr

′1

N

be two finitely presented module M = coker M and N = coker N.

Lemma

A matrix p ∈ Rr0×r′0 encodes a morphism ϕ :M → N if andonly if there exists a matrix x ∈ Rr1×r′1 such that

Mp = xN.

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Data structures and some algorithmsAxioms of an ABELian category

Data structure for module maps

Let0 M

ϕ

Rr0

p

Rr1M

x

0 N Rr′0 Rr

′1

N

be two finitely presented module M = coker M and N = coker N.

Lemma

A matrix p ∈ Rr0×r′0 encodes a morphism ϕ :M → N if andonly if there exists a matrix x ∈ Rr1×r′1 such that

Mp = xN.

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Data structures and some algorithmsAxioms of an ABELian category

Data structure for module maps

Let0 M

ϕ

Rr0

p

Rr1M

x

0 N Rr′0 Rr

′1

N

be two finitely presented module M = coker M and N = coker N.

Lemma

A matrix p ∈ Rr0×r′0 encodes a morphism ϕ :M → N if andonly if there exists a matrix x ∈ Rr1×r′1 such that

Mp = xN.

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Data structures and some algorithmsAxioms of an ABELian category

Software demo

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Data structures and some algorithmsAxioms of an ABELian category

Computable ring

This leads us to the following definition

Definition ([BLH11, Def. 3.2])

A ring R is called left (resp. right) computable if one canspecify an algorithm to solve inhomogeneous linear equationsB = XA (resp. B = AX).

In other words, we want to be able to compute a generating setof syzygies and to effectively decide solvability, i.e., to computea particular solution.

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Data structures and some algorithmsAxioms of an ABELian category

Computable ring

This leads us to the following definition

Definition ([BLH11, Def. 3.2])

A ring R is called left (resp. right) computable if one canspecify an algorithm to solve inhomogeneous linear equationsB = XA (resp. B = AX).

In other words, we want to be able to compute a generating setof syzygies and to effectively decide solvability, i.e., to computea particular solution.

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Data structures and some algorithmsAxioms of an ABELian category

Computable ring

This leads us to the following definition

Definition ([BLH11, Def. 3.2])

A ring R is called left (resp. right) computable if one canspecify an algorithm to solve inhomogeneous linear equationsB = XA (resp. B = AX).

In other words, we want to be able to compute a generating setof syzygies and to effectively decide solvability, i.e., to computea particular solution.

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Data structures and some algorithmsAxioms of an ABELian category

Examples of computable rings

Example (Computable rings)

Ring Algorithm

a

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Data structures and some algorithmsAxioms of an ABELian category

Examples of computable rings

Example (Computable rings)

Ring AlgorithmA constructive field k

a

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Data structures and some algorithmsAxioms of an ABELian category

Examples of computable rings

Example (Computable rings)

Ring AlgorithmA constructive field kThe ring of integers Z

a

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Data structures and some algorithmsAxioms of an ABELian category

Examples of computable rings

Example (Computable rings)

Ring AlgorithmA constructive field kThe ring of integers Z

The univariate polynomial ring k[x]

aover any of the above rings R

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Data structures and some algorithmsAxioms of an ABELian category

Examples of computable rings

Example (Computable rings)

Ring AlgorithmA constructive field kThe ring of integers Z

The univariate polynomial ring k[x]A polynomial ringa R[x1, . . . , xn]

aover any of the above rings R

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Data structures and some algorithmsAxioms of an ABELian category

Examples of computable rings

Example (Computable rings)

Ring AlgorithmA constructive field kThe ring of integers Z

The univariate polynomial ring k[x]A polynomial ringa R[x1, . . . , xn]A lot of noncommutative rings

aover any of the above rings R

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Data structures and some algorithmsAxioms of an ABELian category

Examples of computable rings

Example (Computable rings)

Ring AlgorithmA constructive field kThe ring of integers Z

The univariate polynomial ring k[x]A polynomial ringa R[x1, . . . , xn]A lot of noncommutative rings...

aover any of the above rings R

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Data structures and some algorithmsAxioms of an ABELian category

Examples of computable rings

Example (Computable rings)

Ring AlgorithmA constructive field kThe ring of integers Z

The univariate polynomial ring k[x]A polynomial ringa R[x1, . . . , xn] GRÖBNER basisA lot of noncommutative rings

aover any of the above rings R

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Data structures and some algorithmsAxioms of an ABELian category

Examples of computable rings

Example (Computable rings)

Ring AlgorithmA constructive field kThe ring of integers Z

The univariate polynomial ring k[x]A polynomial ringa R[x1, . . . , xn] GRÖBNER basisA lot of noncommutative rings n.c. GRÖBNER basis

aover any of the above rings R

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Data structures and some algorithmsAxioms of an ABELian category

Examples of computable rings

Example (Computable rings)

Ring AlgorithmA constructive field k GAUSSianThe ring of integers Z

The univariate polynomial ring k[x]A polynomial ringa R[x1, . . . , xn] GRÖBNER basisA lot of noncommutative rings n.c. GRÖBNER basis

aover any of the above rings R

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Data structures and some algorithmsAxioms of an ABELian category

Examples of computable rings

Example (Computable rings)

Ring AlgorithmA constructive field k GAUSSianThe ring of integers Z

The univariate polynomial ring k[x] HERMITE normal formA polynomial ringa R[x1, . . . , xn] GRÖBNER basisA lot of noncommutative rings n.c. GRÖBNER basis

aover any of the above rings R

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Data structures and some algorithmsAxioms of an ABELian category

Examples of computable rings

Example (Computable rings)

Ring AlgorithmA constructive field k GAUSSianThe ring of integers Z HERMITE normal formThe univariate polynomial ring k[x] HERMITE normal formA polynomial ringa R[x1, . . . , xn] GRÖBNER basisA lot of noncommutative rings n.c. GRÖBNER basis

aover any of the above rings R

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Data structures and some algorithmsAxioms of an ABELian category

Examples of computable rings

Example (Computable rings)

Ring AlgorithmA constructive field k GAUSSianThe ring of integers Z HERMITE normal formThe univariate polynomial ring k[x] HERMITE normal formA polynomial ringa R[x1, . . . , xn] GRÖBNER basisA lot of noncommutative rings n.c. GRÖBNER basis

aover any of the above rings R

Hence, in our context, the GRÖBNER basis algorithm servesand an appropriate substitute for the GAUSSian and HERMITE

normal form algorithms. It is merely used to solveinhomogeneous linear equations over the respective rings.

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Data structures and some algorithmsAxioms of an ABELian category

Computable ABELian categories

Definition ([BLH11, Def. 2.1])

An ABELian category is called computablea if the existentialquantifiers entering the defining axioms can be turned intoconstructive ones.

aas an ABELian category.

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Data structures and some algorithmsAxioms of an ABELian category

R − fpmod over a computable ring is computable

Theorem ([BLH11, Thm. 3.4])

The category R− fpmod of finitely presented left (resp. right)modules over a left (resp. right) computable ring R is ABELianand, as such, computable.

Let us now recall the axioms of an ABELian category and try toprove (part of) the above Theorem.

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Data structures and some algorithmsAxioms of an ABELian category

R − fpmod over a computable ring is computable

Theorem ([BLH11, Thm. 3.4])

The category R− fpmod of finitely presented left (resp. right)modules over a left (resp. right) computable ring R is ABELianand, as such, computable.

Let us now recall the axioms of an ABELian category and try toprove (part of) the above Theorem.

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Data structures and some algorithmsAxioms of an ABELian category

A is a category

A is a category:

1 For any object M there exists an identity morphism 1M .2 For any two composable morphisms ϕ,ψ there exists a

composition ϕψ.

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Data structures and some algorithmsAxioms of an ABELian category

A is a category with zero

A is a category with zero:

3 There exists a zero object 0.4 For all objects M,N there exists a zero morphism 0MN .

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Data structures and some algorithmsAxioms of an ABELian category

A is an additive category

A is an additive category:

5 For all objects M,N there exists an addition(ϕ,ψ) 7→ ϕ+ ψ in the ABELian group HomA(M,N).

6 For all objects M,N there exists a subtraction(ϕ,ψ) 7→ ϕ− ψ in the ABELian group HomA(M,N).

7 For all objects A1, A2 there exists a direct sum A1 ⊕A2.8 For all pairs of morphisms ϕi : Ai →M , i = 1, 2 there

exists a coproduct morphism 〈ϕ1, ϕ2〉 : A1 ⊕A2 →M .9 For all pairs of morphisms ϕi :M → Ai, i = 1, 2 there

exists a product morphism {ϕ1, ϕ2} :M → A1 ⊕A2.

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Data structures and some algorithmsAxioms of an ABELian category

A is an ABELian category

A is an ABELian category:

10 For any morphism ϕ :M → N there exists a kernelkerϕ

κ→֒M , such that11 for any morphism τ : L→M and any monomorphism

κ : K →֒M with τϕ = 0 for ϕ = coker κ there exists a liftτ0 : L→ K of τ along κ.

12 For any morphism ϕ :M → N there exists a cokernelN

ε։ cokerϕ, such that

13 for any morphism η : N → L and any epimorphismε : N ։ C with ϕη = 0 for ϕ = ker ε there exists a coliftη0 : C → L of η along ε.

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Data structures and some algorithmsAxioms of an ABELian category

A has enough projectives

A has enough projectives:

14 For each morphism ϕ : P → N and each morphismε :M → N with imϕ ≤ im ε there exists a projective liftϕ1 : P →M of a ϕ along ε.

15 For each object M there exists a projective hullν : P ։M .

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Data structures and some algorithmsAxioms of an ABELian category

Projective resolution

Having enough projectives we can again find a projective hullν1 : P1 ։ K1 of the first syzygy object K1. Iterating this processyields the higher syzygy objects Kn, embeddingsµn : Kn →֒ Pn−1, projective hulls νn : Pn ։ Kn, and aprojective resolution P• of M with P0 := P and ∂n := νnµn:

0 P0

ν

P1

∂1

ν1

P2

∂2

ν2

· · ·

M K1

µ1

K2

µ2

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Data structures and some algorithmsAxioms of an ABELian category

Further constructions in ABELian categories

In an ABELian category A the following two dual statementshold.

1 The pull-back of Lϕ−→M

ψ←− J of two morphisms can be

computed as a kernel. More precisely X{λ,−}

L⊕ J is the

kernel of the coproduct morphism L⊕ J 〈ϕ,ψ〉M .

2 The push-out of Lϕ←−M ψ−→ J of two morphisms can be

computed as a cokernel. More precisely L⊕ J 〈λ,−〉X is

the cokernel of the product morphism M{ϕ,ψ}

L⊕ J .

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Data structures and some algorithmsAxioms of an ABELian category

Intersection as a pull-back

Intersection as pullback

The intersection of the subobjects ιK : K →֒M and ιL : L →֒M

is the pullback of KιK→֒M

ιL←֓ L.

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Data structures and some algorithmsAxioms of an ABELian category

Submodule quotient

Submodule quotient

Let K and J be R-submodule of the left module M . Thesubmodule quotient is an ideal in R defined by

K : J := {r ∈ R | rJ ⊂ K}.

Submodule quotient as intersection

K : J =⋂j∈J kerϕj , where ϕm : R → M/K, r 7→ rm for an

m ∈M .

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Data structures and some algorithmsAxioms of an ABELian category

Submodule quotient

Submodule quotient

Let K and J be R-submodule of the left module M . Thesubmodule quotient is an ideal in R defined by

K : J := {r ∈ R | rJ ⊂ K}.

Submodule quotient as intersection

K : J =⋂j∈J kerϕj , where ϕm : R → M/K, r 7→ rm for an

m ∈M .

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Data structures and some algorithmsAxioms of an ABELian category

Philosophy

A quotation by IRVING KAPLANSKY

We [he and HALMOS] share a philosophy about linear algebra:we think basis-free, we write basis-free, but when the chips aredown we close the office door and compute with matrices likefury.PAUL HALMOS: Celebrating 50 Years of Mathematics.

http://www-history.mcs.st-and.ac.uk/Quotations/Kaplansky.html

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Data structures and some algorithmsAxioms of an ABELian category

Philosophy

The homalg project’s philosophy

Do not teach the computer the matrix algorithm. But teach itenough mathematical knowledge and let it figure out the mostefficient matrix algorithm you know by itself. And eventually, thesystem will surprise you.

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Data structures and some algorithmsAxioms of an ABELian category

Philosophy

The homalg project’s philosophy

Do not teach the computer the matrix algorithm. But teach itenough mathematical knowledge and let it figure out the mostefficient matrix algorithm you know by itself. And eventually, thesystem will surprise you.

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Data structures and some algorithmsAxioms of an ABELian category

How to compute Hom in R− fpmod?

Let R be a commutative2 computable ring and M = coker(M)and N = coker(N). Then by the left exactness of Hom in the firstargument we get the exact sequence

0 HomR(M,N) HomR(Rr0 , N)

M∗

Hom(Rr1 , N) .

Recall that Hom(Rr, N) = N r. So HomR(M,N) is computableas a kernel.

2HomR(M,N) is then an R-module.Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Data structures and some algorithmsAxioms of an ABELian category

How to compute Hom in R− fpmod?

Let R be a commutative2 computable ring and M = coker(M)and N = coker(N). Then by the left exactness of Hom in the firstargument we get the exact sequence

0 HomR(M,N) HomR(Rr0 , N)

M∗

Hom(Rr1 , N) .

Recall that Hom(Rr, N) = N r. So HomR(M,N) is computableas a kernel.

2HomR(M,N) is then an R-module.Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Data structures and some algorithmsAxioms of an ABELian category

How to compute ⊗ in R− fpmod?

Let R be a commutative3 computable ring and M = coker(M)and N = coker(N). Then by the right exactness of ⊗ in the firstargument we get the exact sequence

Rr1 ⊗R N Rr0 ⊗R N M ⊗R N 0 .

Recall that Rr ⊗N = N r. So M ⊗R N is computable as acokernel.

3M ⊗R N is then an R-module.Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Data structures and some algorithmsAxioms of an ABELian category

How to compute ⊗ in R− fpmod?

Let R be a commutative3 computable ring and M = coker(M)and N = coker(N). Then by the right exactness of ⊗ in the firstargument we get the exact sequence

Rr1 ⊗R N Rr0 ⊗R N M ⊗R N 0 .

Recall that Rr ⊗N = N r. So M ⊗R N is computable as acokernel.

3M ⊗R N is then an R-module.Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Data structures and some algorithmsAxioms of an ABELian category

How to compute Ext in R− fpmod?

Let M,N be R-modules and 0←−M ←− P• be a projectiveresolution of M . Then

Definition

ExtcR(M,N) := Hc(HomR(P•, N)).

TorRi (M,N) := Hi(P• ⊗R N).

Theorem

The above definition is independent of the choice of P•. In ourcomputable setting the isomorphismHc(HomR(P•, N)) ∼= Hc(HomR(P

′•, N)) is effectively

computable.

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Data structures and some algorithmsAxioms of an ABELian category

How to compute Ext in R− fpmod?

Let M,N be R-modules and 0←−M ←− P• be a projectiveresolution of M . Then

Definition

ExtcR(M,N) := Hc(HomR(P•, N)).

TorRi (M,N) := Hi(P• ⊗R N).

Theorem

The above definition is independent of the choice of P•. In ourcomputable setting the isomorphismHc(HomR(P•, N)) ∼= Hc(HomR(P

′•, N)) is effectively

computable.

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Data structures and some algorithmsAxioms of an ABELian category

How to compute Ext in R− fpmod?

Let M,N be R-modules and 0←−M ←− P• be a projectiveresolution of M . Then

Definition

ExtcR(M,N) := Hc(HomR(P•, N)).

TorRi (M,N) := Hi(P• ⊗R N).

Theorem

The above definition is independent of the choice of P•. In ourcomputable setting the isomorphismHc(HomR(P•, N)) ∼= Hc(HomR(P

′•, N)) is effectively

computable.

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Data structures and some algorithmsAxioms of an ABELian category

Other computable ABELian categories

Example (Other computable ABELian categories)

1 The category of finitely presented graded modules over acomputable graded ring S.

2 The category of coherent sheaves over a projectivescheme (over a computable ring A).

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Data structures and some algorithmsAxioms of an ABELian category

Thank you for your attention

Mohamed Barakat Computable ABELian categories

Constructive mathematicsComputable ABELian categories

Data structures and some algorithmsAxioms of an ABELian category

Mohamed Barakat and Markus Lange-Hegermann, Anaxiomatic setup for algorithmic homological algebra and analternative approach to localization, J. Algebra Appl. 10(2011), no. 2, 269–293, (arXiv:1003.1943).

Mohamed Barakat Computable ABELian categories