Post on 05-Jul-2020
transcript
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