Formalising the structure of extremal p-groups Georges Gonthier.

Slides:



Advertisements
Similar presentations
Verifying the Four Colour Theorem Georges Gonthier Microsoft Research Cambridge.
Advertisements

Programmed Strategies for Program Verification Richard B. Kieburtz OHSU/OGI School of Science and Engineering and Portland State University.
Brief Introduction to Logic. Outline Historical View Propositional Logic : Syntax Propositional Logic : Semantics Satisfiability Natural Deduction : Proofs.
Discrete Mathematics Lecture 3
3D Geometry for Computer Graphics
Techniques for Proving the Completeness of a Proof System Hongseok Yang Seoul National University Cristiano Calcagno Imperial College.
Lecture 24 MAS 714 Hartmut Klauck
Proofs and Programs Wei Hu 11/01/2007. Outline  Motivation  Theory  Lambda calculus  Curry-Howard Isomorphism  Dependent types  Practice  Coq Wei.
Semantics of Hoare Logic Aquinas Hobor and Martin Henz.
1 How to transform an analyzer into a verifier. 2 OUTLINE OF THE LECTURE a verification technique which combines abstract interpretation and Park’s fixpoint.
Discrete Mathematics Lecture 5 Alexander Bukharovich New York University.
Math 3121 Abstract Algebra I
Case Study: Using PVS to Analyze Security Protocols Kyle Taylor.
Brief Introduction to Logic. Outline Historical View Propositional Logic : Syntax Propositional Logic : Semantics Satisfiability Natural Deduction : Proofs.
Discrete Mathematics Lecture 4 Harper Langston New York University.
1 Finite Model Theory Lecture 13 FO k, L k 1, ,L  1, , and Pebble Games.
Discrete Structures Chapter 3 Set Theory Nurul Amelina Nasharuddin Multimedia Department.
FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY
SETS A set B is a collection of objects such that for every object X in the universe the statement: “X is a member of B” Is a proposition.
GROUPS & THEIR REPRESENTATIONS: a card shuffling approach Wayne Lawton Department of Mathematics National University of Singapore S ,
Lecture 9. Arithmetic and geometric series and mathematical induction
Georges Gonthier Reflection, of all shapes and sizes.
DECIDABILITY OF PRESBURGER ARITHMETIC USING FINITE AUTOMATA Presented by : Shubha Jain Reference : Paper by Alexandre Boudet and Hubert Comon.
Theory of Languages and Automata
Automatic Structures Bakhadyr Khoussainov Computer Science Department The University of Auckland, New Zealand.
Chapter 3 – Set Theory  .
Basic Number Theory Divisibility Let a,b be integers with a≠0. if there exists an integer k such that b=ka, we say a divides b which is denoted by a|b.
Three different ways There are three different ways to show that ρ(A) is a simple eigenvalue of an irreducible nonnegative matrix A:
17. Group Theory 1.Introduction to Group Theory 2.Representation of Groups 3.Symmetry & Physics 4.Discrete Groups 5.Direct Products 6.Symmetric Groups.
Math 3121 Abstract Algebra I Lecture 9 Finish Section 10 Section 11.
CSE-490 Logic in Computer Science The Coq Proof Assistant POSTECH Dec 15, 2006 박성우.
MA/CSSE 474 Theory of Computation Decision Problems DFSMs.
Logic in Computer Science - Overview Sep 1, 2009 박성우.
Chap 3 –A theorem is a statement that can be shown to be true –A proof is a sequence of statements to show that a theorem is true –Axioms: statements which.
Chapter 5: Permutation Groups  Definitions and Notations  Cycle Notation  Properties of Permutations.
Copyright © Zeph Grunschlag, Induction Zeph Grunschlag.
Inductive Predicates  Unit vs True  Inductive unit : Set := tt : unit  Inductive True : Prop := I : True  Curry Howard Isomorphism  But Coq distinguish.
Math 3121 Abstract Algebra I Lecture 10 Finish Section 11 Skip 12 – read on your own Start Section 13.
1 Symmetry Symmetry Chapter 14 from “Model Checking” by Edmund M. Clarke Jr., Orna Grumberg, and Doron A. Peled presented by Anastasia Braginsky March.
Lecture 1 Overview Topics 1. Proof techniques: induction, contradiction Proof techniques June 1, 2015 CSCE 355 Foundations of Computation.
Math 3121 Abstract Algebra I
Math 3121 Abstract Algebra I Lecture 14 Sections
CSE-321 Programming Languages Curry-Howard Isomorphism POSTECH June 4, 2009 박성우.
CSCI 4325 / 6339 Theory of Computation Zhixiang Chen.
The main study of Field Theory By: Valerie Toothman
Math 3121 Abstract Algebra I Lecture 15 Sections
Extending a displacement A displacement defined by a pair where l is the length of the displacement and  the angle between its direction and the x-axix.
Week 8 - Wednesday.  What did we talk about last time?  Relations  Properties of relations  Reflexive  Symmetric  Transitive.
MA/CSSE 474 Theory of Computation Decision Problems, Continued DFSMs.
Natsumi Nagata E-ken Journal Club December 21, 2012 Minimal fields of canonical dimensionality are free S. Weinberg, Phys. Rev. D86, (2012) [ ].
1 Interactive Computer Theorem Proving CS294-9 October 5, 2006 Adam Chlipala UC Berkeley Lecture 7: Programming with Proofs.
1 Interactive Computer Theorem Proving CS294-9 September 7, 2006 Adam Chlipala UC Berkeley Lecture 3: Data structures and Induction.
1 Interactive Computer Theorem Proving CS294-9 September 14, 2006 Adam Chlipala UC Berkeley Lecture 4: Inductively- Defined Predicates.
CSE 20: Discrete Mathematics for Computer Science Prof. Shachar Lovett.
Theory of Computational Complexity Probability and Computing Chapter Hikaru Inada Iwama and Ito lab M1.
Lecture 11: Proof by Reflection
Math 3121 Abstract Algebra I
CSCE 355 Foundations of Computation
Cyclic Codes 1. Definition Linear:
Sylow Theorems.
Boyce/DiPrima 10th ed, Ch 7.4: Basic Theory of Systems of First Order Linear Equations Elementary Differential Equations and Boundary Value Problems,
CSE 105 theory of computation
Formal Language & Automata Theory
Verifying The Four Colour Theorem
Disjunctive Normal Form
CSCE 355 Foundations of Computation
GROUPS & THEIR REPRESENTATIONS: a card shuffling approach
Advanced Algorithms Analysis and Design
MA/CSSE 474 More Math Review Theory of Computation
SMALL 4-QUASINORMAL SUBGROUPS
Presentation transcript:

Formalising the structure of extremal p-groups Georges Gonthier

The Big Project The Classification of Finite Simple Group Feit-Thompson Frobenius groups Thompson factorisation character theory linear representation Galois theory linear algebra polynomials |G| odd G simple G ≈ F p

Goals and results Bring proof tools to mathematicians Apply software engineering to proof construction Prove landmark result Build on four-colour theorem experience Ssreflect proof language and Coq plugin Combinatorial components Linear algebra components Group theory components

Tool review Data (inductive) types / propositions Computational reflection –compute values, types, and propositions Dependent types –first-class Structures Type / value inference –controlled by Coercion / Canonical Structure User notations

(F p q, +) ⋊ U(F p q, *) ⋊ Gal(F p q / F p ) < G and symmetrically The Feit-Thompson proof Local Analysis S ∊ Syl p (G) M = N G (S) M maximal of Frobenius type S ⊆ kernel M Let G be a minimal counter-example... Character Theory χ ∊ irr(G) G 0 = G – ⋃ K i G ∑ (|χ(g 0 )| 2 – 1) ≤ |G| ∑ (|K i |/|M i | - ‖ χ M i ‖ 2 ) Galois Theory χ character: χ(g) = tr π(g) for some π : G → M n ( ℂ ) M i maximal Frobenius, M i ≄ M j, K i kernel of M i characters form a euclidean space impossible P∊ F p q [X] d o (P) = q, P ( F p )= 0 p < q, q < p Sylow: if p n | |G| then |S| = p n for some S < G normal S ⊲ M : ∀ m s, ms = s’m for some s’ ↪ factor group M / S kernel K ⊲ M, M = K ⋊ H if hk = kh then h = 1

Local Analysis Look at N(P), P a p-group, i.e. P ⋊ N(P) Use the nilpotent structure of P do prove stuff by induction on P and/or A ⊂ N(P) 1 ⊲ Z(P) ⊲ Z 2 (P) ⊲.... ⊲ P Base cases: extraspecial and extremal p- groups.

Roadmap Extremal p-groups Group presentations Big theorems

Flat vs. thin rank (#generators) exponent (max order) elementary E p n = F p n (|A|,p) = 1 ZpnZpn cyclic P ⊂ N(K) extraspecial Mod p 3 p 1+2n D 8 n Q 8 n extremal Mod p n D 2 n Q 2 n SD 2 n linear algebra dictionary

The Uniqueness Theorem M L r(M ∩ L) ≤ 2 Thompson transitivity: S ∊ Syl p (G), r(S) ≥ 3 maximal abelian A ⊲ S Q 1, Q 2 maximal in И(A, q) Q 2 = Q 1 c for c ∊C G (A) p-stability: abelian A ⊲ S ∊ Syl p (M) for some C ⊲ M, p ∤ |C| A / C ⊲ M / C

Dictionary Theorem dihedral2_structure : n > 1 -> extremal_generators G 2 n (x, y) -> G \isog 'D_m -> [/\ [/\ X ><| Y = G, {in G :\: X, forall t, #[t] = 2} & {in X & G :\: X, forall z t, z ^ t = z^-1}], [/\ G ^`(1) =, 'Phi(G) = G ^`(1), #|G^`(1)| = r & nil_class G = n.-1], 'Ohm_1(G) = G /\ (forall k, k > 0 -> 'Mho^k(G) = ), [/\ yG :|: xyG = G :\: X, [disjoint yG & xyG] & forall M, maximal M G = pred3 X My Mxy M] & if n == 2 then (2.-abelem G : Prop) else [/\ 'Z(G) =, #|'Z(G)| = 2, My \isog 'D_q, Mxy \isog 'D_q & forall U, cyclic U -> U \subset G -> #|G : U| = 2 -> U = X]].

Presentations D 2 n ≈ Grp (x, y : x 2 n-1, y 2, x y = x -1 ) SD 2 n ≈ Grp (x, y : x 2 n-1, y 2, x y = x 2 n-2 -1 ) Q 2 n ≈ Grp (x, y : x 2 n-1, y 2 = x 2 n-2, x y = x -1 ) Lemma Grp_dihedral : 'D_m \isog Grp (x : y : (x ^+ q, y ^+ 2, x ^ y = x^-1)).... but this is not constructive (Post) !

Faking free groups G ≈ Grp (x, y,... : r, s, t) → (H ≾ G) ⇔ (H ≾ Grp (x, y,... : r, s, t) ) H ≾ Grp (x, y,... : r, s, t) → (H = 〈x, y,...〉 & r = s =.. = 1) Definition hom gT (B : {set gT}) p := sat B 1 env1 (p (Cst 0)). Definition iso gT (B : {set gT}) p := forall rT (H : {group rT}), (H \homg B) = hom H p.

Faking relations Inductive term := | Cst of nat | Idx | Inv of term | Exp of term & nat | Mul of term & term | Conj of term & term | Comm of term & term. Infix "*" := Mul : group_presentation. Infix "^+" := Exp : group_presentation. Infix "^" := Conj : group_presentation. Notation "x ^-1" := (Inv x) : group_presentation. Fixpoint eval {gT} e t : gT := match t with | Cst i => nth 1 e i | Idx => 1 | Inv t1 => (eval e t1)^-1 | Exp t1 n => eval e t1 ^+ n | Mul t1 t2 => eval e t1 * eval e t2 | Conj t1 t2 => eval e t1 ^ eval e t2 | Comm t1 t2 => [~ eval e t1, eval e t2] end.

Faking presentations Inductive formula := Eq2 of term & term | And of formula & formula. Inductive rel_type := NoRel | Rel vT of vT & vT. Inductive type := Generator of term -> type | Formula of formula. Inductive env gT := Env of {set gT} & seq gT. Fixpoint sat gT vT B n (s : vT -> env gT) p := match p with | Formula f => existsb v, let: Env A e := s v in and_rel A B (rel (rev e) f NoRel) | Generator p' => let s' v := let: Env A e := s v.1 in Env (A ) (v.2 :: e) in sat B n.+1 s' (p' (Cst n)) end. Definition bool_of_rel r := if r is Rel vT v1 v2 then v1 == v2 else true. Definition and_rel vT (v1 v2 : vT) r := if r is Rel wT w1 w2 then Rel (v1, w1) (v2, w2) else Rel v1 v2. Fixpoint rel {gT} (e : seq gT) f r := match f with | Eq2 s t => and_rel (eval e s) (eval e t) r | And f1 f2 => rel e f1 (rel e f2 r) end.

Using presentations Lemma Grp'_dihedral : 'D_m \isog Grp (x : y : (x ^+ 2, y ^+ 2, (x * y) ^+ q)). Proof. move=> gT G; rewrite Grp_dihedral. apply/existsP/existsP=> [] [[x y]] /=. case/eqP=> <- xq1 y2 xy; exists (x * y, y). rewrite !xpair_eqE /= eqEsubset.... by rewrite y2 mulg1 xq1 !eqxx. case/eqP=> <- x2 y2 xyq; exists (x * y, y)..... by rewrite !mulgA mulgK -mulgA -!(expgS _ 1) x2 y2 mulg1. Qed.

Proving presentations Lemma isogEcard : forall rT aT (G : {group rT}) (H : {group aT}), (G \isog H) = (G \homg H) && (#|H| <= #|G|). Lemma card_dihedral : #|'D_m| = m. Lemma normal_rank1_structure : forall gT p (G : {group gT}), p.-group G -> (forall X : {group gT}, X abelian X -> cyclic X) -> cyclic G \/ [&& p == 2, extremal2 G & (#|G| >= 16) || (G \isog 'Q_8)].

Big Theorems Theorem dihedral2_structure : n > 1 -> extremal_generators G 2 n (x, y) -> G \isog 'D_m -> [/\ [/\ X ><| Y = G, {in G :\: X, forall t, #[t] = 2} & {in X & G :\: X, forall z t, z ^ t = z^-1}], [/\ G ^`(1) =, 'Phi(G) = G ^`(1), #|G^`(1)| = r & nil_class G = n.-1], 'Ohm_1(G) = G /\ (forall k, k > 0 -> 'Mho^k(G) = ), [/\ yG :|: xyG = G :\: X, [disjoint yG & xyG] & forall M, maximal M G = pred3 X My Mxy M] & if n == 2 then (2.-abelem G : Prop) else [/\ 'Z(G) =, #|'Z(G)| = 2, My \isog 'D_q, Mxy \isog 'D_q & forall U, cyclic U -> U \subset G -> #|G : U| = 2 -> U = X]].

Using big theorems Lemma generators_2dihedral : n > 1 -> G \isog 'D_m -> exists2 xy, extremal_generators G 2 n xy & let: (x, y) := xy in #[y] = 2 /\ x ^ y = x^-1. Lemma normal_rank1_structure :.... have [[x y] genG _] := generators_2dihedral n_gt1 isoG. have [_ _ _ [_ _ maxG]] := dihedral2_structure n_gt1 genG isoG.

Formalizing big math sometimes requires big theorems. It is paramount to build usability into formal theories. Type theory and reflection are powerful and flexible tools engineer this usability. Conclusions