A Small Reflection On Group Automorphisms Franc ois Garillot - - PowerPoint PPT Presentation

a small reflection on
SMART_READER_LITE
LIVE PREVIEW

A Small Reflection On Group Automorphisms Franc ois Garillot - - PowerPoint PPT Presentation

A Small Reflection On Group Automorphisms Franc ois Garillot Mathematical Components Microsoft Research - INRIA Joint Centre Orsay, France 1 The Coq Proof Assistant 2 The Coq Proof Assistant + SSReflect V 1.1 : Just released !


slide-1
SLIDE 1

A Small Reflection On

Group Automorphisms

Franc ¸ois Garillot Mathematical Components

Microsoft Research - INRIA Joint Centre Orsay, France

1

slide-2
SLIDE 2

The Coq Proof Assistant

2

slide-3
SLIDE 3

The Coq Proof Assistant + SSReflect

V 1.1 : Just released ! http://www.msr-inria.inria.fr/Projects/math-components

2-a

slide-4
SLIDE 4

The Coq Proof Assistant + SSReflect

V 1.1 : Just released ! http://www.msr-inria.inria.fr/Projects/math-components

A renewed tactic shell : faster proofs (to write)

– better bookkeeping – better (hierarchical) layout – ”surgical” rewriting

2-c

slide-5
SLIDE 5

The Coq Proof Assistant + SSReflect

V 1.1 : Just released ! http://www.msr-inria.inria.fr/Projects/math-components

A renewed tactic shell : faster proofs (to write)

– better bookkeeping – better (hierarchical) layout – ”surgical” rewriting

Small Scale Reflection

– We often work on a decidable domain, where e.g. the excluded middle makes sense. – Coerce booleans to propositions. – Reflection : booleans ↔ logical propositions

2-d

slide-6
SLIDE 6

The Coq Proof Assistant + SSReflect

V 1.1 : Just released ! http://www.msr-inria.inria.fr/Projects/math-components

A renewed tactic shell : faster proofs (to write)

– better bookkeeping – better (hierarchical) layout – ”surgical” rewriting

Small Scale Reflection

– We often work on a decidable domain, where e.g. the excluded middle makes sense. – Coerce booleans to propositions. – Reflection : booleans ↔ logical propositions

Libraries for dealing with equality, finite types, naturals, lists

2-e

slide-7
SLIDE 7

Formalising Some Finite Group Theory

3

slide-8
SLIDE 8

Formalising Some Finite Group Theory

A project of Mathematical Components, with members at Sophia-Antipolis

and Orsay (INRIA), Cambridge (MSR)

Towards a formalisation of the Feit-Thompson (’Odd Order’) theorem

3-a

slide-9
SLIDE 9

Formalising Some Finite Group Theory

A project of Mathematical Components, with members at Sophia-Antipolis

and Orsay (INRIA), Cambridge (MSR)

Towards a formalisation of the Feit-Thompson (’Odd Order’) theorem We already have a number of elements:

– functions of finite sets – Groups and basic lemmata – Lagrange, isomorphism theorems – Sylow theorems – Frobenius Lemma – Schur-Zassenhaus theorem – Simplicity of the alternating group

3-b

slide-10
SLIDE 10

Formalising Some Finite Group Theory

A project of Mathematical Components, with members at Sophia-Antipolis

and Orsay (INRIA), Cambridge (MSR)

Towards a formalisation of the Feit-Thompson (’Odd Order’) theorem We already have a number of elements:

– functions of finite sets – Groups and basic lemmata – Lagrange, isomorphism theorems – Sylow theorems – Frobenius Lemma – Schur-Zassenhaus theorem – Simplicity of the alternating group

And counting ...

3-c

slide-11
SLIDE 11

Group Morphisms : mathematically

4

slide-12
SLIDE 12

Group Morphisms : mathematically

We call morphism from E to E’ a mapping from E to E’ s.t. f(x •E y) = f(x) •E ′ f(y) for all x, y in E × E. The identity mapping is a morphism, the composition of two morphisms is a morphism [Bour- baki] The morphism has a smaller domain than the underlying function.

f g

4-a

slide-13
SLIDE 13

Group Morphisms : mathematically

We call morphism from E to E’ a mapping from E to E’ s.t. f(x •E y) = f(x) •E ′ f(y) for all x, y in E × E. The identity mapping is a morphism, the composition of two morphisms is a morphism [Bour- baki] The morphism has a smaller domain than the underlying function.

f g

Canonical Structure qualid. . . . Each time an equation of the form (xi ) =βδιζ ci has to be solved during the type-checking pro- cess, qualid is used as a solution. [Coq manual]

4-b

slide-14
SLIDE 14

Group Theory : Groups

Structure finGroupType : Type := FinGroupType { element :> finType; 1 : element; ^−1 : element → element; _ • _ : element → element → element; unitP : ∀ x, 1 • x = x; invP : ∀ x, x^−1 • x = unit; mulP : ∀ x1 x2 x3, x1 • (x2 • x3) = (x1 • x2) • x3 }.

Two-staged development : a carrier type providing structural properties,

5

slide-15
SLIDE 15

Group Theory : Groups

Structure finGroupType : Type := FinGroupType { element :> finType; 1 : element; ^−1 : element → element; _ • _ : element → element → element; unitP : ∀ x, 1 • x = x; invP : ∀ x, x^−1 • x = unit; mulP : ∀ x1 x2 x3, x1 • (x2 • x3) = (x1 • x2) • x3 }.

Two-staged development : a carrier type providing structural properties, and a set corresponding to the actual object

Variable elt : finGroupType. Structure group : Type := Group { SoG :> setType elt; SoGP : 1 ⊂ SoG && (SoG :•: SoG) ⊂ SoG }.

5-a

slide-16
SLIDE 16

Group Theory : Programming with Canonical Structures

group setI ≃ for all H, K groups, H ∩ K has the required group properties.

Canonical Structure setI_group := Group group_setI.

   

Coq < Check (_ ∩ _). ∩ : forall T : finType, setType T → setType T → setType T

   

Lemma groupMl : ∀ (H:group _) x y, x ∈ H ⇒ (x • y) ∈ H = y ∈ H. Lemma setI_stable : ∀ (H K : group _) x y, x ∈ (H ∩ K) ⇒ y ∈ (H ∩ K) ⇒ (x • y) ∈ (H ∩ K : setType _).

  • Proof. by move ⇒ x y Hx Hy; rewrite groupMl. Qed.

6

slide-17
SLIDE 17

Group Morphisms : in Coq

7

slide-18
SLIDE 18

Group Morphisms : in Coq

Definition ker f := {x| ∀y, f(x • y) == f(y) } Definition dom f := ker f∪{x| f x != 1}.

dom f

1

f

7-a

slide-19
SLIDE 19

Group Morphisms : in Coq

Definition ker f := {x| ∀y, f(x • y) == f(y) } Definition dom f := ker f∪{x| f x != 1}.

dom f

1

f

Structure morphism : Type := Morphism { mfun :> elt1 → elt2; group_set_dom : group_set (dom mfun); morphM : morphic (dom f) mfun }. Definition morphic H f := ∀ x y, f x ∈ H → f y ∈ H → f (x • y) = f x * f y. morphic ≃ product commutation

7-b

slide-20
SLIDE 20

Group Morphism : discussion

an unambiguous, dynamically built domain

8

slide-21
SLIDE 21

Group Morphism : discussion

an unambiguous, dynamically built domain except for x → 1.

8-a

slide-22
SLIDE 22

Group Morphism : discussion

an unambiguous, dynamically built domain except for x → 1. but pretty hard to create morphisms ex nihilo,

8-b

slide-23
SLIDE 23

Group Morphism : discussion

an unambiguous, dynamically built domain except for x → 1. but pretty hard to create morphisms ex nihilo, proving properties on (canonical) morphisms is easy, but how do we export

them to morphic functions ?

8-c

slide-24
SLIDE 24

Automorphism : Definition

  • Recall : a morphism is a morphic mapping on a group,

and sends to the unit elsewhere.

  • An automorphism is a bijective endomorphism.

We build them on bijective functions : by itself, they are morphic, but not morphisms. Automorphisms are defined as :

permutations of a group carrier type morphic on a given subgroup coincide with the identity elsewhere (not the trivial morphism)

9

slide-25
SLIDE 25

Automorphisms : the need for a restriction

dom f f

10

slide-26
SLIDE 26

Automorphisms : the need for a restriction

dom f f

  • ur formalisation of automorphisms turns out to be very similar to what is

done with morphisms,

10-a

slide-27
SLIDE 27

Automorphisms : the need for a restriction

dom f f

  • ur formalisation of automorphisms turns out to be very similar to what is

done with morphisms,

they could enjoy symmetric ker and dom notions,

10-b

slide-28
SLIDE 28

Automorphisms : the need for a restriction

dom f f

  • ur formalisation of automorphisms turns out to be very similar to what is

done with morphisms,

they could enjoy symmetric ker and dom notions, coincide with a morphism on their ’domain’

10-c

slide-29
SLIDE 29

Automorphisms : the need for a restriction

dom f f

  • ur formalisation of automorphisms turns out to be very similar to what is

done with morphisms,

they could enjoy symmetric ker and dom notions, coincide with a morphism on their ’domain’ restrict morphic functions, obtain morphisms.

10-d

slide-30
SLIDE 30

Restriction of morphic functions : Default Values

11

slide-31
SLIDE 31

Restriction of morphic functions : Default Values

Definition mrestr f H := [fun x ⇒ if (H x) then (f x) else 1]. Definition morphicrestr f H := if ~~(morphic H f) then (fun ⇒1) else (mrestr f H).

11-a

slide-32
SLIDE 32

Restriction of morphic functions : Default Values

Definition mrestr f H := [fun x ⇒ if (H x) then (f x) else 1]. Definition morphicrestr f H := if ~~(morphic H f) then (fun ⇒1) else (mrestr f H). Lemma morph1 : ∀ (f:morphism _ _), f 1 = 1. Lemma dfequal_morphicrestr : ∀ x, x ∈ H ⇒ (f x) = (morphicrestr f H). Lemma morphic1 : ∀ (f: _ → _) (H: group _) (Hmorph: morphic H f), f 1 = 1. Proof. rewrite (dfequal_morphicrestr Hmorph); [exact: morph1|exact:group1]. Qed.

11-b

slide-33
SLIDE 33

Morphism Restrictions : Discussion

we have successfully adapted a number of results from morphisms

(an internalised representation, defined with a Canonical Structure) to morphic functions (declarative expression of a local property of a function).

but we have to treat the trivial case separately, sometimes extensively, however, this is usually simpler. scales up : automorphisms are permutations that behave well on a domain,

and co¨ ıncide wih the identity elsewhere.

12

slide-34
SLIDE 34

Cyclic Groups : Application

13

slide-35
SLIDE 35

Cyclic Groups : Application

A cyclic group is a monogenous group: the intersection of all groups

containing a given singleton.

Given rise to by the iterated multiplication of an element by itself:

Cp(a) = {1, a, a • a, a3, . . . , a(p−1)}

13-a

slide-36
SLIDE 36

Cyclic Groups : Application

A cyclic group is a monogenous group: the intersection of all groups

containing a given singleton.

Given rise to by the iterated multiplication of an element by itself:

Cp(a) = {1, a, a • a, a3, . . . , a(p−1)}

Automorphism group has nice properties, isomorphic to Zn

× 13-b

slide-37
SLIDE 37

Cyclic Groups : Application

A cyclic group is a monogenous group: the intersection of all groups

containing a given singleton.

Given rise to by the iterated multiplication of an element by itself:

Cp(a) = {1, a, a • a, a3, . . . , a(p−1)}

Automorphism group has nice properties, isomorphic to Zn

×

Cp(a) is isomorphic to Z/pZ

13-c

slide-38
SLIDE 38

Cyclic Groups : Application

A cyclic group is a monogenous group: the intersection of all groups

containing a given singleton.

Given rise to by the iterated multiplication of an element by itself:

Cp(a) = {1, a, a • a, a3, . . . , a(p−1)}

Automorphism group has nice properties, isomorphic to Zn

×

Cp(a) is isomorphic to Z/pZ Hand-proven lemmas for cyclic groups in all their generality,

13-d

slide-39
SLIDE 39

Cyclic Groups : Application

A cyclic group is a monogenous group: the intersection of all groups

containing a given singleton.

Given rise to by the iterated multiplication of an element by itself:

Cp(a) = {1, a, a • a, a3, . . . , a(p−1)}

Automorphism group has nice properties, isomorphic to Zn

×

Cp(a) is isomorphic to Z/pZ Hand-proven lemmas for cyclic groups in all their generality, . . . which usually are easier to prove on Z/pZ

13-e

slide-40
SLIDE 40

Conclusion

a dialogue between proofs on a canonical notion of morphism and a

localised property,

real benefits obtained from Canonical Structures, here and elsewhere

(Message to the Coq team : we want more !)

a confirmation of the pertinence of our structures over a large development, interested about a more architectural way of doing this,

14