Title: Mathematical Components
1Mathematical Components
- Georges Gonthier
- Y. Bertot, F. Garillot, A. Mahboubi, S. Ould
Biha, - I. Pasca, L. Rideau, L. Théry, B. Werner
2Why use a computer for math?
- To prove calculations
- To improve refereeing
- To explore structure
3Building computer proofs
Proof text
Proof script
(ssreflect)
tactic interpreter
Typed ?-calculus
4Finite Group Theory
- Theory of composable, reversible operators
- Puzzles
- Solving polynomials x5 3x2 7
- Gauge theory
- Cristallography
- Cryptography
5Simple Group Classification
- Theorem (Jordan-Hölder)
- Every finite group factors uniquely into simple
groups. - Theorem (Classification)
- All finite simple groups belong to 12 general
classes, except for 26 sporadic exceptions.
6The Finite Group Challenge
Frobenius groups Thompson factorisation character
theory linear representation Galois theory linear
algebra polynomials
7Interfaces and objects
bool if b then
8Big Operators
\bigcap_H lt G \atop H \rm\ maximal H
9Example determinants
- Leibnitz formula
- Cauchy theorem AB A B
(?j Ai,j Bj,is)
(AB)i,is
?i Bi?,is
Bi?,is
? ?i Ai,i? ? (-1)s ?j Bj,j?-1s
i j?-1
?
s?Sn
??Sn
??Sn
A B
10Interfacing big ops
bool
Equality
nat
Finite
I_n
seq
11A proof
\begineqnarray \det AB \sum_\sigma \in
S_n (-1)\sigma \prod_i
\left(\sum_j A_ij B_j\sigma(i)\right)\\
\sum_\phi \ 1, n \rightarrow 1,
n \sum_\sigma \in S_n
(-1)\sigma \prod_i A_i\phi(i)
B_\phi(i)\sigma(i)\\ \sum_\phi
\notin S_n \sum_\sigma \in S_n
(-1)\sigma \prod_i A_i\phi(i)
B_\phi(i)\sigma(i)
\sum_\phi \in S_n \sum_\sigma \in S_n
(-1)\sigma \prod_i A_i\phi(i)
B_\phi(i)\sigma(i)\\ \sum_\phi
\notin S_n \left(\prod_i A_i\phi(i)\right)?
\sum_\sigma \in S_n
(-1)\sigma \prod_i B_\phi(i)\sigma(i)
\\ \sum_\phi \in S_n
(-1)\phi \left(\prod_i
A_i\phi(i)\right)?
\sum_\sigma \in S_n
(-1)\phi-1\sigma
\prod_k B_k\sigma(\phi-1(k))\\
\sum_\phi \notin S_n \left(\prod_i
A_i\phi(i)\right)? \det
\left(B_\phi(i)j\right)_ij
(\det A)\sum_\tau \in S_n(-1)\tau \prod_k
B_k\tau(k)\\ 0 (\det
A)(\det B)\\ \endeqnarray The first step swaps
the iterated product of the Leibnitz formula
with the sum in the general term of the matrix
product, generating a sum over all functions from
indices to indices. This is split into a sum
over non-injective functions and a sum over
permutations. The former is rearranged into a
weighted sum of determinants of matrices with
repeated rows, while the latter is reindexed,
using the group properties of permutations, to
become the desired product of determinants.
Lemma determinantM forall n (A B M_(n)), \det
(A m B) \det A \det B. Proof. movegt n A B
rewrite big_distrl /. pose AB (f ffun _) (s
'S_n) i A i (f i) B (f i) (s
i). transitivity (\sum_f \sum_(s 'S_n) (-1)
s \prod_i AB f s i). rewrite exchange_big
apply eq_bigr gt / s _. rewrite -big_distrr
/ congr (_ _). pose F i j A i j B j (s
i) rewrite -(bigA_distr_bigA F) /. by apply
eq_bigr gt x _ rewrite mxK. rewrite (bigID (fun
f ffun _ gt injectiveb f)) / addrC big1
?simp gt f Uf. rewrite (reindex (fun s gt
pval s)) last first. have s0 'S_n 1g
pose uf (f F_(n)) uniq (val f). exists
(insubd s0) gt / f Uf first apply val_inj
exact insubdK. apply eq_big gt / ss _
rewrite ?(valP s) // big_distrr /. rewrite
(reindex (mulg s)) last first. by exists
(mulg s-1) gt t _ rewrite ?mulKVg ?mulKg.
apply eq_bigr gt t _ rewrite big_split / mulrA
mulrCA mulrA mulrCA mulrA. rewrite -signr_addb
odd_permM !pvalE congr (_ _). rewrite
(reindex s-1) last first. by exists (s _
-gt _) gt i _ rewrite ?permK ?permKV. by apply
eq_bigr gt i _ rewrite permM permKV ?eqxx //
-3i(permKV s). transitivity (\det
(\matrix_(i, j) B (f i) j) \prod_i A i (f i)).
rewrite mulrC big_distrr / apply eq_bigr gt s
_. rewrite mulrCA big_split // congr (_ (_
_)). by apply eq_bigr gt x _ rewrite
mxK. case/injectivePn Uf gt i1 i2 Di12
Ef12. by rewrite (alternate_determinant Di12)
?simp // gt j rewrite !mxK Ef12. Qed.
rewrite (reindex (mulg s)) last first. by
exists (mulg s-1) gt t _ rewrite ?mulKVg
?mulKg.
12Interfacing groups
bool
Equality
Morphism
Finite
13Some conclusions
- Type theory provides a rich language for
expressing the intended use of theories. - Investing in theory infrastructure is most
productive. - Computer mathematics is becoming a reality
14(No Transcript)