Towards a constructive formalization of Perfect Graph Theorems - - PowerPoint PPT Presentation

towards a constructive formalization of perfect graph
SMART_READER_LITE
LIVE PREVIEW

Towards a constructive formalization of Perfect Graph Theorems - - PowerPoint PPT Presentation

Towards a constructive formalization of Perfect Graph Theorems Abhishek Kr Singh Raja Natarajan School of Technology and Computer Science Tata Institute of Fundamental Research, Mumbai. Indian Conference on Logic and its Applications, 2019


slide-1
SLIDE 1

Towards a constructive formalization of Perfect Graph Theorems

Abhishek Kr Singh Raja Natarajan

School of Technology and Computer Science Tata Institute of Fundamental Research, Mumbai.

Indian Conference on Logic and its Applications, 2019

slide-2
SLIDE 2

Overview.

Perfect Graph Theorems

◮ Strong Perfect Graph Theorem ◮ Weak Perfect Graph Theorem

Modeling Finite Simple Graphs in Coq Constructive proof of Lovász Replication Lemma Graph Isomorphism and Graph Constructions Conclusions and Future Work

slide-3
SLIDE 3

Overview.

Perfect Graph Theorems

◮ Strong Perfect Graph Theorem ◮ Weak Perfect Graph Theorem

Modeling Finite Simple Graphs in Coq Constructive proof of Lovász Replication Lemma Graph Isomorphism and Graph Constructions Conclusions and Future Work

slide-4
SLIDE 4

Overview.

Perfect Graph Theorems

◮ Strong Perfect Graph Theorem ◮ Weak Perfect Graph Theorem

Modeling Finite Simple Graphs in Coq Constructive proof of Lovász Replication Lemma Graph Isomorphism and Graph Constructions Conclusions and Future Work

slide-5
SLIDE 5

Overview.

Perfect Graph Theorems

◮ Strong Perfect Graph Theorem ◮ Weak Perfect Graph Theorem

Modeling Finite Simple Graphs in Coq Constructive proof of Lovász Replication Lemma Graph Isomorphism and Graph Constructions Conclusions and Future Work

slide-6
SLIDE 6

Overview.

Perfect Graph Theorems

◮ Strong Perfect Graph Theorem ◮ Weak Perfect Graph Theorem

Modeling Finite Simple Graphs in Coq Constructive proof of Lovász Replication Lemma Graph Isomorphism and Graph Constructions Conclusions and Future Work

slide-7
SLIDE 7

Overview.

Perfect Graph Theorems

◮ Strong Perfect Graph Theorem ◮ Weak Perfect Graph Theorem

Modeling Finite Simple Graphs in Coq Constructive proof of Lovász Replication Lemma Graph Isomorphism and Graph Constructions Conclusions and Future Work

slide-8
SLIDE 8

Clique number ω(G) and Chromatic number χ(G)

Chromatic number χ(G): min num of colours to color V (G). Clique number ω(G) : size of largest clique in G. ω(G) is an obvious lower bound for χ(G) (i.e. χ(G) ≥ ω(G)) In each of the above cases χ(G) = ω(G), i.e. the number of colours needed is the minimum we can hope. Can we always hope χ(G) = ω(G) for every graph G?

slide-9
SLIDE 9

Clique number ω(G) and Chromatic number χ(G)

Chromatic number χ(G): min num of colours to color V (G). Clique number ω(G) : size of largest clique in G. ω(G) is an obvious lower bound for χ(G) (i.e. χ(G) ≥ ω(G)) In each of the above cases χ(G) = ω(G), i.e. the number of colours needed is the minimum we can hope. Can we always hope χ(G) = ω(G) for every graph G?

slide-10
SLIDE 10

Clique number ω(G) and Chromatic number χ(G)

Chromatic number χ(G): min num of colours to color V (G). Clique number ω(G) : size of largest clique in G. ω(G) is an obvious lower bound for χ(G) (i.e. χ(G) ≥ ω(G)) In each of the above cases χ(G) = ω(G), i.e. the number of colours needed is the minimum we can hope. Can we always hope χ(G) = ω(G) for every graph G?

slide-11
SLIDE 11

Clique number ω(G) and Chromatic number χ(G)

Chromatic number χ(G): min num of colours to color V (G). Clique number ω(G) : size of largest clique in G. ω(G) is an obvious lower bound for χ(G) (i.e. χ(G) ≥ ω(G)) In each of the above cases χ(G) = ω(G), i.e. the number of colours needed is the minimum we can hope. Can we always hope χ(G) = ω(G) for every graph G?

slide-12
SLIDE 12

Clique number ω(G) and Chromatic number χ(G)

Chromatic number χ(G): min num of colours to color V (G). Clique number ω(G) : size of largest clique in G. ω(G) is an obvious lower bound for χ(G) (i.e. χ(G) ≥ ω(G)) In each of the above cases χ(G) = ω(G), i.e. the number of colours needed is the minimum we can hope. Can we always hope χ(G) = ω(G) for every graph G?

slide-13
SLIDE 13

Odd holes and Odd anti-holes

Consider the cycle of odd length 5 and its complement. In this case

  • ne can see that χ(G) = 3 and ω(G) = 2 (i.e. χ(G) > ω(G)).

The gap between χ(G) and ω(G) can be made arbitrarily large. We have k disjoint 5-cycles with all possible edges between any two

  • copies. In this case one can show [3] that χ(G) = 3k but ω(G) = 2k.
slide-14
SLIDE 14

Odd holes and Odd anti-holes

Consider the cycle of odd length 5 and its complement. In this case

  • ne can see that χ(G) = 3 and ω(G) = 2 (i.e. χ(G) > ω(G)).

The gap between χ(G) and ω(G) can be made arbitrarily large. We have k disjoint 5-cycles with all possible edges between any two

  • copies. In this case one can show [3] that χ(G) = 3k but ω(G) = 2k.
slide-15
SLIDE 15

Odd holes and Odd anti-holes

Consider the cycle of odd length 5 and its complement. In this case

  • ne can see that χ(G) = 3 and ω(G) = 2 (i.e. χ(G) > ω(G)).

The gap between χ(G) and ω(G) can be made arbitrarily large. We have k disjoint 5-cycles with all possible edges between any two

  • copies. In this case one can show [3] that χ(G) = 3k but ω(G) = 2k.
slide-16
SLIDE 16

Perfect Graphs

In 1961, Claude Berge noticed the presence of odd holes (or odd anti-holes) as induced subgraph in all the graphs presented to him that does not have a nice colouring, i.e. χ(G) > ω(G). He also observed some graphs containing odd holes, where χ(G) = ω(G). A good way to avoid such artificial construction is to make the notion

  • f nice colouring hereditary.

A graph G is called a perfect graph if χ(H) = ω(H) for all of its induced subgraphs H.

slide-17
SLIDE 17

Perfect Graphs

In 1961, Claude Berge noticed the presence of odd holes (or odd anti-holes) as induced subgraph in all the graphs presented to him that does not have a nice colouring, i.e. χ(G) > ω(G). He also observed some graphs containing odd holes, where χ(G) = ω(G). A good way to avoid such artificial construction is to make the notion

  • f nice colouring hereditary.

A graph G is called a perfect graph if χ(H) = ω(H) for all of its induced subgraphs H.

slide-18
SLIDE 18

Perfect Graphs

In 1961, Claude Berge noticed the presence of odd holes (or odd anti-holes) as induced subgraph in all the graphs presented to him that does not have a nice colouring, i.e. χ(G) > ω(G). He also observed some graphs containing odd holes, where χ(G) = ω(G). A good way to avoid such artificial construction is to make the notion

  • f nice colouring hereditary.

A graph G is called a perfect graph if χ(H) = ω(H) for all of its induced subgraphs H.

slide-19
SLIDE 19

Perfect Graphs

In 1961, Claude Berge noticed the presence of odd holes (or odd anti-holes) as induced subgraph in all the graphs presented to him that does not have a nice colouring, i.e. χ(G) > ω(G). He also observed some graphs containing odd holes, where χ(G) = ω(G). A good way to avoid such artificial construction is to make the notion

  • f nice colouring hereditary.

A graph G is called a perfect graph if χ(H) = ω(H) for all of its induced subgraphs H.

slide-20
SLIDE 20

Perfect Graph Theorems

(SPGC): A graph is perfect if and only if it does not contain an odd hole (or an odd anti-hole) as its induced subgraph. (WPGC): a graph is perfect if and only if its complement is perfect. Lovász (in 1972) proved a result [4] known as Lovász Replication Lemma. It took however three more decades to come up with a proof for SPGC. The proof of Strong Perfect Graph Conjecture was announced in 2002 by Chudnovsky et al. and published [1] in a 178-page paper in 2006.

slide-21
SLIDE 21

Perfect Graph Theorems

(SPGC): A graph is perfect if and only if it does not contain an odd hole (or an odd anti-hole) as its induced subgraph. (WPGC): a graph is perfect if and only if its complement is perfect. Lovász (in 1972) proved a result [4] known as Lovász Replication Lemma. It took however three more decades to come up with a proof for SPGC. The proof of Strong Perfect Graph Conjecture was announced in 2002 by Chudnovsky et al. and published [1] in a 178-page paper in 2006.

slide-22
SLIDE 22

Perfect Graph Theorems

(SPGC): A graph is perfect if and only if it does not contain an odd hole (or an odd anti-hole) as its induced subgraph. (WPGC): a graph is perfect if and only if its complement is perfect. Lovász (in 1972) proved a result [4] known as Lovász Replication Lemma. It took however three more decades to come up with a proof for SPGC. The proof of Strong Perfect Graph Conjecture was announced in 2002 by Chudnovsky et al. and published [1] in a 178-page paper in 2006.

slide-23
SLIDE 23

Perfect Graph Theorems

(SPGC): A graph is perfect if and only if it does not contain an odd hole (or an odd anti-hole) as its induced subgraph. (WPGC): a graph is perfect if and only if its complement is perfect. Lovász (in 1972) proved a result [4] known as Lovász Replication Lemma. It took however three more decades to come up with a proof for SPGC. The proof of Strong Perfect Graph Conjecture was announced in 2002 by Chudnovsky et al. and published [1] in a 178-page paper in 2006.

slide-24
SLIDE 24

Modeling Finite Simple Graphs in Coq

All the graphs involved are finite simple graphs. v1 v2 v3 v4 v5 G1 v1 v2 v3 v4 v5 v′

4

G2 v1 v2 v3 v4 v5

v′

4 v′ 2

G3 Vertices as finite sets and edges as binary relation. The Mathematical Components library [2] (four color theorem). Finite sets using finType, ffun , and reflect predicate. Propositions on sets can be represented using computable (boolean)

  • functions. Hence, case analysis on these propositions possible in a

constructive way.

slide-25
SLIDE 25

Modeling Finite Simple Graphs in Coq

All the graphs involved are finite simple graphs. v1 v2 v3 v4 v5 G1 v1 v2 v3 v4 v5 v′

4

G2 v1 v2 v3 v4 v5

v′

4 v′ 2

G3 Vertices as finite sets and edges as binary relation. The Mathematical Components library [2] (four color theorem). Finite sets using finType, ffun , and reflect predicate. Propositions on sets can be represented using computable (boolean)

  • functions. Hence, case analysis on these propositions possible in a

constructive way.

slide-26
SLIDE 26

Modeling Finite Simple Graphs in Coq

All the graphs involved are finite simple graphs. v1 v2 v3 v4 v5 G1 v1 v2 v3 v4 v5 v′

4

G2 v1 v2 v3 v4 v5

v′

4 v′ 2

G3 Vertices as finite sets and edges as binary relation. The Mathematical Components library [2] (four color theorem). Finite sets using finType, ffun , and reflect predicate. Propositions on sets can be represented using computable (boolean)

  • functions. Hence, case analysis on these propositions possible in a

constructive way.

slide-27
SLIDE 27

Modeling Finite Simple Graphs in Coq

All the graphs involved are finite simple graphs. v1 v2 v3 v4 v5 G1 v1 v2 v3 v4 v5 v′

4

G2 v1 v2 v3 v4 v5

v′

4 v′ 2

G3 Vertices as finite sets and edges as binary relation. The Mathematical Components library [2] (four color theorem). Finite sets using finType, ffun , and reflect predicate. Propositions on sets can be represented using computable (boolean)

  • functions. Hence, case analysis on these propositions possible in a

constructive way.

slide-28
SLIDE 28

Lovász Replication Lemma

The proof of WPGT involves expansion of graph. v2 v3 a v1 G v2 v3 a′ a v1 G ′ G ′ is obtained from G by repeating vertex a Can’t assume that the vertices of initial graph are sets on finType.

Lemma (Lovász Replication Lemma)

If G ′ is obtained from a perfect graph G by replicating a vertex, then G ′ is perfect

slide-29
SLIDE 29

Lovász Replication Lemma

The proof of WPGT involves expansion of graph. v2 v3 a v1 G v2 v3 a′ a v1 G ′ G ′ is obtained from G by repeating vertex a Can’t assume that the vertices of initial graph are sets on finType.

Lemma (Lovász Replication Lemma)

If G ′ is obtained from a perfect graph G by replicating a vertex, then G ′ is perfect

slide-30
SLIDE 30

Lovász Replication Lemma

The proof of WPGT involves expansion of graph. v2 v3 a v1 G v2 v3 a′ a v1 G ′ G ′ is obtained from G by repeating vertex a Can’t assume that the vertices of initial graph are sets on finType.

Lemma (Lovász Replication Lemma)

If G ′ is obtained from a perfect graph G by replicating a vertex, then G ′ is perfect

slide-31
SLIDE 31

Generalised Lovász Replication Lemma

Lemma (Generalised Lovász Replication Lemma)

Let G be a perfect graph and f : V (G) → N. Let G ′ be the graph obtained by replacing each vertex vi of the graph G with a complete graph of order f (vi). Then G ′ is a perfect graph. d c b a G1 Va b c d G2 Va Vb c d G3 Va Vb Vc Vd G4

slide-32
SLIDE 32

Modeling Finite Simple Graphs in Coq

We define finite simple graphs as a dependent record with five fields. Record UG (A:ordType) : Type:= Build_UG { nodes :> list A; nodes_IsOrd : IsOrd nodes; edg: A -> A -> bool; edg_irefl: irefl edg; edg_sym: sym edg }.

  • rdType: type equiped with two boolean functions eqb and ltb.

Lemma (comparing x and y in ordType)

  • n_comp(x y:T):CompareSpec (x=y)(x <b y)(y <b x)(comp x y)

Nodes are represented as an ordered list.

slide-33
SLIDE 33

Modeling Finite Simple Graphs in Coq

We define finite simple graphs as a dependent record with five fields. Record UG (A:ordType) : Type:= Build_UG { nodes :> list A; nodes_IsOrd : IsOrd nodes; edg: A -> A -> bool; edg_irefl: irefl edg; edg_sym: sym edg }.

  • rdType: type equiped with two boolean functions eqb and ltb.

Lemma (comparing x and y in ordType)

  • n_comp(x y:T):CompareSpec (x=y)(x <b y)(y <b x)(comp x y)

Nodes are represented as an ordered list.

slide-34
SLIDE 34

Modeling Finite Simple Graphs in Coq

We define finite simple graphs as a dependent record with five fields. Record UG (A:ordType) : Type:= Build_UG { nodes :> list A; nodes_IsOrd : IsOrd nodes; edg: A -> A -> bool; edg_irefl: irefl edg; edg_sym: sym edg }.

  • rdType: type equiped with two boolean functions eqb and ltb.

Lemma (comparing x and y in ordType)

  • n_comp(x y:T):CompareSpec (x=y)(x <b y)(y <b x)(comp x y)

Nodes are represented as an ordered list.

slide-35
SLIDE 35

Vertices as constructive sets

Vertices are sets over (A: ordType). Record set_on (A :ordType): Type := { S_of :> list A; IsOrd_S : IsOrd S_of }.

Lemma (Element wise equal sets are equal)

set_equal (A: ordType)(l s:set_on A): Equal l s -> l = s. Subsets of S are present in the list pw(S).

Lemma ( pw(S) is a set )

pw_is_ord (S: list A): IsOrd (pw S).

slide-36
SLIDE 36

Vertices as constructive sets

Vertices are sets over (A: ordType). Record set_on (A :ordType): Type := { S_of :> list A; IsOrd_S : IsOrd S_of }.

Lemma (Element wise equal sets are equal)

set_equal (A: ordType)(l s:set_on A): Equal l s -> l = s. Subsets of S are present in the list pw(S).

Lemma ( pw(S) is a set )

pw_is_ord (S: list A): IsOrd (pw S).

slide-37
SLIDE 37

Vertices as constructive sets

Vertices are sets over (A: ordType). Record set_on (A :ordType): Type := { S_of :> list A; IsOrd_S : IsOrd S_of }.

Lemma (Element wise equal sets are equal)

set_equal (A: ordType)(l s:set_on A): Equal l s -> l = s. Subsets of S are present in the list pw(S).

Lemma ( pw(S) is a set )

pw_is_ord (S: list A): IsOrd (pw S).

slide-38
SLIDE 38

Vertices as constructive sets

small scale reflections: reflect

Propositions Boolean functions Reflection lemmas In a l memb a l membP Equal l s equal l s equalP ∃ x, (In x l ∧ f x) existsb f l existsbP ∀ x, (In x l -> f x) forallb f l forallbP Reflection lemmas: Propositions connected with Boolean functions.

Lemma ( Set membership is decidable )

membP a l: reflect (In a l) (memb a l).

Lemma (Case analysis using reflection lemmas)

reflect_EM (P: Prop)(b:bool): reflect P b -> P ∨ ¬ P.

slide-39
SLIDE 39

Vertices as constructive sets

small scale reflections: reflect

Propositions Boolean functions Reflection lemmas In a l memb a l membP Equal l s equal l s equalP ∃ x, (In x l ∧ f x) existsb f l existsbP ∀ x, (In x l -> f x) forallb f l forallbP Reflection lemmas: Propositions connected with Boolean functions.

Lemma ( Set membership is decidable )

membP a l: reflect (In a l) (memb a l).

Lemma (Case analysis using reflection lemmas)

reflect_EM (P: Prop)(b:bool): reflect P b -> P ∨ ¬ P.

slide-40
SLIDE 40

Vertices as constructive sets

small scale reflections: reflect

Propositions Boolean functions Reflection lemmas In a l memb a l membP Equal l s equal l s equalP ∃ x, (In x l ∧ f x) existsb f l existsbP ∀ x, (In x l -> f x) forallb f l forallbP Reflection lemmas: Propositions connected with Boolean functions.

Lemma ( Set membership is decidable )

membP a l: reflect (In a l) (memb a l).

Lemma (Case analysis using reflection lemmas)

reflect_EM (P: Prop)(b:bool): reflect P b -> P ∨ ¬ P.

slide-41
SLIDE 41

Decidable edge relation

Clique, Stable set and Graph colouring

Edges are represented using a decidable binary relation on the vertices.

Lemma ( specification lemma for forall_xyb )

forall_xyP (P:A->A->bool) (l:list A): reflect (forall x y, In x l-> In y l-> P x y) (forall_xyb P l).

Definition cliq(G:UG)(K:list A):= forall_xyb (fun x y=> (x==y) || edg G x y) K. Definition Cliq(G:UG)(K:list A):= (forall x y,In x K->In y K-> x=y \/ edg G x y).

Lemma (Cliq G K is decidable)

cliqP(G: UG)(K: list A): reflect (Cliq G K) (cliq G K).

slide-42
SLIDE 42

Decidable edge relation

Clique, Stable set and Graph colouring

Edges are represented using a decidable binary relation on the vertices.

Lemma ( specification lemma for forall_xyb )

forall_xyP (P:A->A->bool) (l:list A): reflect (forall x y, In x l-> In y l-> P x y) (forall_xyb P l).

Definition cliq(G:UG)(K:list A):= forall_xyb (fun x y=> (x==y) || edg G x y) K. Definition Cliq(G:UG)(K:list A):= (forall x y,In x K->In y K-> x=y \/ edg G x y).

Lemma (Cliq G K is decidable)

cliqP(G: UG)(K: list A): reflect (Cliq G K) (cliq G K).

slide-43
SLIDE 43

Decidable edge relation

Clique, Stable set and Graph colouring

Edges are represented using a decidable binary relation on the vertices.

Lemma ( specification lemma for forall_xyb )

forall_xyP (P:A->A->bool) (l:list A): reflect (forall x y, In x l-> In y l-> P x y) (forall_xyb P l).

Definition cliq(G:UG)(K:list A):= forall_xyb (fun x y=> (x==y) || edg G x y) K. Definition Cliq(G:UG)(K:list A):= (forall x y,In x K->In y K-> x=y \/ edg G x y).

Lemma (Cliq G K is decidable)

cliqP(G: UG)(K: list A): reflect (Cliq G K) (cliq G K).

slide-44
SLIDE 44

Decidable edge relation

Propositions Boolean functions Reflection lemmas Subgraph G1 G2 subgraph G1 G2 subgraphP Ind_Subgraph G1 G2 ind_subgraph G1 G2 ind_subgraphP Stable G I stable G I stableP Max_I_in G I max_I_in G I max_I_inP Cliq G K cliq G K cliqP Max_K_in G K max_K_in G K max_K_inP Coloring_of G f coloring_of G f coloring_ofP Most of the properties are decidable for finite graphs. This makes case analysis on these predicates possible even though the Excluded Middle principle is not provable in Coq.

slide-45
SLIDE 45

Decidable edge relation

Propositions Boolean functions Reflection lemmas Subgraph G1 G2 subgraph G1 G2 subgraphP Ind_Subgraph G1 G2 ind_subgraph G1 G2 ind_subgraphP Stable G I stable G I stableP Max_I_in G I max_I_in G I max_I_inP Cliq G K cliq G K cliqP Max_K_in G K max_K_in G K max_K_inP Coloring_of G f coloring_of G f coloring_ofP Most of the properties are decidable for finite graphs. This makes case analysis on these predicates possible even though the Excluded Middle principle is not provable in Coq.

slide-46
SLIDE 46

Decidable edge relation

Propositions Boolean functions Reflection lemmas Subgraph G1 G2 subgraph G1 G2 subgraphP Ind_Subgraph G1 G2 ind_subgraph G1 G2 ind_subgraphP Stable G I stable G I stableP Max_I_in G I max_I_in G I max_I_inP Cliq G K cliq G K cliqP Max_K_in G K max_K_in G K max_K_inP Coloring_of G f coloring_of G f coloring_ofP Most of the properties are decidable for finite graphs. This makes case analysis on these predicates possible even though the Excluded Middle principle is not provable in Coq.

slide-47
SLIDE 47

Constructive proof of Lovasz Replication Lemma

Lemma (Lovász Replication Lemma)

If G ′ is obtained from a perfect graph G by replicating a vertex, then G ′ is perfect Let H’ be an induced subgraph of G’, then goal: χ(H’) = ω(H’). Ind Hyp : ∀ X, |X|<|G| → Perfect X → Perfect X’ Case 1: H’ = G’

◮ Case 1a: a /

∈ H’ : Reason 1

◮ Case 1b: a ∈ H’ : Reason 2

Case 2: H’ = G’ (let P K := max_K_in G K ∧ memb a K.)

◮ Case 2a: exists a clique K of size ω(G) such that a ∈ K. ⋆ (∃ x, In x (pw G) ∧ P x) : Reason 3 ◮ Case 2b: a does not belong to any clique K of size ω(G). ⋆ (∀ x, In x (pw G) →

P x)) : Reason 4

All the cases correspond to predicates on sets and finite graphs. We have decidable representations for all of these predicates.

slide-48
SLIDE 48

Constructive proof of Lovasz Replication Lemma

Lemma (Lovász Replication Lemma)

If G ′ is obtained from a perfect graph G by replicating a vertex, then G ′ is perfect Let H’ be an induced subgraph of G’, then goal: χ(H’) = ω(H’). Ind Hyp : ∀ X, |X|<|G| → Perfect X → Perfect X’ Case 1: H’ = G’

◮ Case 1a: a /

∈ H’ : Reason 1

◮ Case 1b: a ∈ H’ : Reason 2

Case 2: H’ = G’ (let P K := max_K_in G K ∧ memb a K.)

◮ Case 2a: exists a clique K of size ω(G) such that a ∈ K. ⋆ (∃ x, In x (pw G) ∧ P x) : Reason 3 ◮ Case 2b: a does not belong to any clique K of size ω(G). ⋆ (∀ x, In x (pw G) →

P x)) : Reason 4

All the cases correspond to predicates on sets and finite graphs. We have decidable representations for all of these predicates.

slide-49
SLIDE 49

Constructive proof of Lovasz Replication Lemma

Lemma (Lovász Replication Lemma)

If G ′ is obtained from a perfect graph G by replicating a vertex, then G ′ is perfect Let H’ be an induced subgraph of G’, then goal: χ(H’) = ω(H’). Ind Hyp : ∀ X, |X|<|G| → Perfect X → Perfect X’ Case 1: H’ = G’

◮ Case 1a: a /

∈ H’ : Reason 1

◮ Case 1b: a ∈ H’ : Reason 2

Case 2: H’ = G’ (let P K := max_K_in G K ∧ memb a K.)

◮ Case 2a: exists a clique K of size ω(G) such that a ∈ K. ⋆ (∃ x, In x (pw G) ∧ P x) : Reason 3 ◮ Case 2b: a does not belong to any clique K of size ω(G). ⋆ (∀ x, In x (pw G) →

P x)) : Reason 4

All the cases correspond to predicates on sets and finite graphs. We have decidable representations for all of these predicates.

slide-50
SLIDE 50

Constructive proof of Lovasz Replication Lemma

Lemma (Lovász Replication Lemma)

If G ′ is obtained from a perfect graph G by replicating a vertex, then G ′ is perfect Let H’ be an induced subgraph of G’, then goal: χ(H’) = ω(H’). Ind Hyp : ∀ X, |X|<|G| → Perfect X → Perfect X’ Case 1: H’ = G’

◮ Case 1a: a /

∈ H’ : Reason 1

◮ Case 1b: a ∈ H’ : Reason 2

Case 2: H’ = G’ (let P K := max_K_in G K ∧ memb a K.)

◮ Case 2a: exists a clique K of size ω(G) such that a ∈ K. ⋆ (∃ x, In x (pw G) ∧ P x) : Reason 3 ◮ Case 2b: a does not belong to any clique K of size ω(G). ⋆ (∀ x, In x (pw G) →

P x)) : Reason 4

All the cases correspond to predicates on sets and finite graphs. We have decidable representations for all of these predicates.

slide-51
SLIDE 51

Constructive proof of Lovasz Replication Lemma

Lemma (Lovász Replication Lemma)

If G ′ is obtained from a perfect graph G by replicating a vertex, then G ′ is perfect Let H’ be an induced subgraph of G’, then goal: χ(H’) = ω(H’). Ind Hyp : ∀ X, |X|<|G| → Perfect X → Perfect X’ Case 1: H’ = G’

◮ Case 1a: a /

∈ H’ : Reason 1

◮ Case 1b: a ∈ H’ : Reason 2

Case 2: H’ = G’ (let P K := max_K_in G K ∧ memb a K.)

◮ Case 2a: exists a clique K of size ω(G) such that a ∈ K. ⋆ (∃ x, In x (pw G) ∧ P x) : Reason 3 ◮ Case 2b: a does not belong to any clique K of size ω(G). ⋆ (∀ x, In x (pw G) →

P x)) : Reason 4

All the cases correspond to predicates on sets and finite graphs. We have decidable representations for all of these predicates.

slide-52
SLIDE 52

Constructive proof of Lovasz Replication Lemma

Lemma (Lovász Replication Lemma)

If G ′ is obtained from a perfect graph G by replicating a vertex, then G ′ is perfect Let H’ be an induced subgraph of G’, then goal: χ(H’) = ω(H’). Ind Hyp : ∀ X, |X|<|G| → Perfect X → Perfect X’ Case 1: H’ = G’

◮ Case 1a: a /

∈ H’ : Reason 1

◮ Case 1b: a ∈ H’ : Reason 2

Case 2: H’ = G’ (let P K := max_K_in G K ∧ memb a K.)

◮ Case 2a: exists a clique K of size ω(G) such that a ∈ K. ⋆ (∃ x, In x (pw G) ∧ P x) : Reason 3 ◮ Case 2b: a does not belong to any clique K of size ω(G). ⋆ (∀ x, In x (pw G) →

P x)) : Reason 4

All the cases correspond to predicates on sets and finite graphs. We have decidable representations for all of these predicates.

slide-53
SLIDE 53

Graph Isomorphism

Proving equality of graph without assuming any axiom.

Record UG (A:ordType) : Type:= Build_UG { nodes :> list A; nodes_IsOrd : IsOrd nodes; edg: A -> A -> bool; edg_irefl: irefl edg; edg_sym: sym edg }. Record UG (A:ordType) : Type:= Build_UG { nodes :> list A; nodes_IsOrd : isOrd nodes;

  • -----> UIP

edg: A -> A -> bool; edg_irefl: irefl_in nodes edg;

  • --> UIP

edg_sym: sym_in nodes edg }. ------> UIP

Lemma (UIP: Uniqueness of Identity Proofs)

eq_proofs_unicity A (decA : ∀ x y : A, x = y ∨ x <> y) (x y: A) (p1 p2: x=y): p1=p2

slide-54
SLIDE 54

Graph Isomorphism

We need a proper representation for graph isomorphism.

Definition iso_using (f: A->A)(G G’: @UG A) := (forall x, f (f x) = x) /\ (nodes G’) = (img f G) /\ (forall x y, edg G x y = edg G’ (f x) (f y)). Definition iso (G G’: @UG A) := exists f, iso_using f G G’.

Self invertible nature of f which makes it injective on both G and G’.

Lemma (invertible nature of isomorphism)

iso_one_one (G G’: UG)(f: A-> A): iso_using f G G’->

  • ne_one_on G f.

Lemma (symmetric nature of isomorphism)

iso_sym (G G’: UG): iso G G’ -> iso G’ G.

slide-55
SLIDE 55

Graph Isomorphism

We need a proper representation for graph isomorphism.

Definition iso_using (f: A->A)(G G’: @UG A) := (forall x, f (f x) = x) /\ (nodes G’) = (img f G) /\ (forall x y, edg G x y = edg G’ (f x) (f y)). Definition iso (G G’: @UG A) := exists f, iso_using f G G’.

Self invertible nature of f which makes it injective on both G and G’.

Lemma (invertible nature of isomorphism)

iso_one_one (G G’: UG)(f: A-> A): iso_using f G G’->

  • ne_one_on G f.

Lemma (symmetric nature of isomorphism)

iso_sym (G G’: UG): iso G G’ -> iso G’ G.

slide-56
SLIDE 56

Graph Isomorphism

Lemma (isomorphic counterpart)

iso_subgraphs (G G’ H :UG) (f: A-> A) : iso_using f G G’-> Ind_subgraph H G -> (∃ H’, Ind_subgraph H’ G’ ∧ iso_using f H H’). Every induced subgraph H of G has an isomorphic counterpart H’ in G’. Results in isomorphic cliques, stable sets and same chromatic number.

Lemma (isomorphic stable set)

iso_stable (G G’: UG)(f: A-> A)(I: list A):iso_using f G G’-> Stable G I-> Stable G’ (img f I).

slide-57
SLIDE 57

Graph Isomorphism

Lemma (isomorphic counterpart)

iso_subgraphs (G G’ H :UG) (f: A-> A) : iso_using f G G’-> Ind_subgraph H G -> (∃ H’, Ind_subgraph H’ G’ ∧ iso_using f H H’). Every induced subgraph H of G has an isomorphic counterpart H’ in G’. Results in isomorphic cliques, stable sets and same chromatic number.

Lemma (isomorphic stable set)

iso_stable (G G’: UG)(f: A-> A)(I: list A):iso_using f G G’-> Stable G I-> Stable G’ (img f I).

slide-58
SLIDE 58

Graph Isomorphism

Lemma (isomorphic cliques)

iso_cliq (G G’: UG)(f:A-> A)(K:list A):iso_using f G G’-> Cliq G K -> Cliq G’ (img f K).

Lemma (coloring of isomorphic graphs)

iso_coloring(G G’:UG)(f:A->A)(C: A->nat):iso_using f G G’

  • > Coloring_of G C -> Coloring_of G’ (fun (x:A) => C (f x)).

Lemma (perfectness is preserved)

perfect_G’ (G G’:UG ): iso G G’-> Perfect G -> Perfect G’.

slide-59
SLIDE 59

Graph Isomorphism

Lemma (isomorphic cliques)

iso_cliq (G G’: UG)(f:A-> A)(K:list A):iso_using f G G’-> Cliq G K -> Cliq G’ (img f K).

Lemma (coloring of isomorphic graphs)

iso_coloring(G G’:UG)(f:A->A)(C: A->nat):iso_using f G G’

  • > Coloring_of G C -> Coloring_of G’ (fun (x:A) => C (f x)).

Lemma (perfectness is preserved)

perfect_G’ (G G’:UG ): iso G G’-> Perfect G -> Perfect G’.

slide-60
SLIDE 60

Graph Isomorphism

Lemma (isomorphic cliques)

iso_cliq (G G’: UG)(f:A-> A)(K:list A):iso_using f G G’-> Cliq G K -> Cliq G’ (img f K).

Lemma (coloring of isomorphic graphs)

iso_coloring(G G’:UG)(f:A->A)(C: A->nat):iso_using f G G’

  • > Coloring_of G C -> Coloring_of G’ (fun (x:A) => C (f x)).

Lemma (perfectness is preserved)

perfect_G’ (G G’:UG ): iso G G’-> Perfect G -> Perfect G’.

slide-61
SLIDE 61

Graph Constructions

Adding (or removing) edges in an existing graph. v2 v3 a v1 G v2 v3 a′ a v1 G ′

Definition nw_edg(G:UG)(a a’:A):= fun(x y:A) => match (x==a), (y==a’) with | _ , false => (edg G) x y | true, true => true | false, true => (edg G) x a end.

Lemma

nw_edg_xa_xa’ (G: UG)(x:A): (edg G) x a -> (edg G’) x a’.

slide-62
SLIDE 62

Graph Constructions

v2 v3 a v1 G v2 v3 a′ a v1 G ′

Lemma

nw_edg_xy_xy (G: UG)(x y:A)(P’: ¬ In a’ G): (edg G) x y -> (edg G’) x y

Lemma

nw_edg_xy_xy4 (G: UG)(x y:A)(P: In a G)(P’: ¬In a’ G): y = a’ -> (edg G) x y = (edg G’) x y. we can’t use nw_edg(G:UG)(a a’:A) for edge relation while declaring G’ as an instance of UG.

slide-63
SLIDE 63

Graph Constructions

v2 v3 a v1 G v2 v3 a′ a v1 G ′

Lemma

nw_edg_xy_xy (G: UG)(x y:A)(P’: ¬ In a’ G): (edg G) x y -> (edg G’) x y

Lemma

nw_edg_xy_xy4 (G: UG)(x y:A)(P: In a G)(P’: ¬In a’ G): y = a’ -> (edg G) x y = (edg G’) x y. we can’t use nw_edg(G:UG)(a a’:A) for edge relation while declaring G’ as an instance of UG.

slide-64
SLIDE 64

Graph Constructions

v2 v3 a v1 G v2 v3 a′ a v1 G ′

Definition nw_edg(G:UG)(a a’:A):= fun(x y:A) => match (x==a), (y==a’) with | _ , false => (edg G) x y | true, true => true | false, true => (edg G) x a end.

We can add more branches to the match statement. Results in a more complex function and proving even essential properties becomes hard. we define functions namely mk_irefl and mk_sym.

slide-65
SLIDE 65

Graph Constructions

v2 v3 a v1 G v2 v3 a′ a v1 G ′

Definition nw_edg(G:UG)(a a’:A):= fun(x y:A) => match (x==a), (y==a’) with | _ , false => (edg G) x y | true, true => true | false, true => (edg G) x a end.

We can add more branches to the match statement. Results in a more complex function and proving even essential properties becomes hard. we define functions namely mk_irefl and mk_sym.

slide-66
SLIDE 66

Graph Constructions

v2 v3 a v1 G v2 v3 a′ a v1 G ′

Definition nw_edg(G:UG)(a a’:A):= fun(x y:A) => match (x==a), (y==a’) with | _ , false => (edg G) x y | true, true => true | false, true => (edg G) x a end.

We can add more branches to the match statement. Results in a more complex function and proving even essential properties becomes hard. we define functions namely mk_irefl and mk_sym.

slide-67
SLIDE 67

Graph Constructions

Lemma (specification of mk_irefl)

mk_ireflP (E: A -> A-> bool): irefl (mk_irefl E).

Lemma (specification of mk_sym)

mk_symP (E: A-> A-> bool): sym (mk_sym E). These functions do not change the properties ensured by each other.

Lemma (invariance lemma for mk_sym)

irefl_inv_for_mk_sym (E: A-> A-> bool): irefl E -> irefl (mk_sym E).

Lemma (invariance lemma for mk_irefl)

sym_inv_for_mk_irefl (E: A->A-> bool): sym E -> sym (mk_irefl E).

slide-68
SLIDE 68

Graph Constructions

Lemma (specification of mk_irefl)

mk_ireflP (E: A -> A-> bool): irefl (mk_irefl E).

Lemma (specification of mk_sym)

mk_symP (E: A-> A-> bool): sym (mk_sym E). These functions do not change the properties ensured by each other.

Lemma (invariance lemma for mk_sym)

irefl_inv_for_mk_sym (E: A-> A-> bool): irefl E -> irefl (mk_sym E).

Lemma (invariance lemma for mk_irefl)

sym_inv_for_mk_irefl (E: A->A-> bool): sym E -> sym (mk_irefl E).

slide-69
SLIDE 69

Graph Constructions

Lemma (specification of mk_irefl)

mk_ireflP (E: A -> A-> bool): irefl (mk_irefl E).

Lemma (specification of mk_sym)

mk_symP (E: A-> A-> bool): sym (mk_sym E). These functions do not change the properties ensured by each other.

Lemma (invariance lemma for mk_sym)

irefl_inv_for_mk_sym (E: A-> A-> bool): irefl E -> irefl (mk_sym E).

Lemma (invariance lemma for mk_irefl)

sym_inv_for_mk_irefl (E: A->A-> bool): sym E -> sym (mk_irefl E).

slide-70
SLIDE 70

Graph Constructions

v2 v3 a v1 G v2 v3 a′ a v1 G ′

Definition ex_edg(G:UG)(a a’:A):= mk_sym(mk_irefl(nw_edg G a a’)). Definition G’:= refine({| nodes:= add a’ G; edg:= (ex_edg G a a’); |}); unfold ex_edg. all: auto. Defined.

These functions can significantly ease the construction of new graphs. Tactic (all:auto) can discharge all the proof obligations generated while declaring G’.

slide-71
SLIDE 71

Graph Constructions

v2 v3 a v1 G v2 v3 a′ a v1 G ′

Definition ex_edg(G:UG)(a a’:A):= mk_sym(mk_irefl(nw_edg G a a’)). Definition G’:= refine({| nodes:= add a’ G; edg:= (ex_edg G a a’); |}); unfold ex_edg. all: auto. Defined.

These functions can significantly ease the construction of new graphs. Tactic (all:auto) can discharge all the proof obligations generated while declaring G’.

slide-72
SLIDE 72

Conclusions

Modeling finite graphs in a constructive way. Use of small scale reflection to obtain decidable predicates. A constructive proof of Lovász Replication Lemma Equality of graphs and graph isomorphism Functions to automate constructions of new graphs. Future Work:

◮ An efficient way to represent Graph Expansion. ◮ Constructive proof of WPGT. ◮ Decompositions involved in the proof of SPGT.

slide-73
SLIDE 73

Conclusions

Modeling finite graphs in a constructive way. Use of small scale reflection to obtain decidable predicates. A constructive proof of Lovász Replication Lemma Equality of graphs and graph isomorphism Functions to automate constructions of new graphs. Future Work:

◮ An efficient way to represent Graph Expansion. ◮ Constructive proof of WPGT. ◮ Decompositions involved in the proof of SPGT.

slide-74
SLIDE 74

Conclusions

Modeling finite graphs in a constructive way. Use of small scale reflection to obtain decidable predicates. A constructive proof of Lovász Replication Lemma Equality of graphs and graph isomorphism Functions to automate constructions of new graphs. Future Work:

◮ An efficient way to represent Graph Expansion. ◮ Constructive proof of WPGT. ◮ Decompositions involved in the proof of SPGT.

slide-75
SLIDE 75

Conclusions

Modeling finite graphs in a constructive way. Use of small scale reflection to obtain decidable predicates. A constructive proof of Lovász Replication Lemma Equality of graphs and graph isomorphism Functions to automate constructions of new graphs. Future Work:

◮ An efficient way to represent Graph Expansion. ◮ Constructive proof of WPGT. ◮ Decompositions involved in the proof of SPGT.

slide-76
SLIDE 76

Conclusions

Modeling finite graphs in a constructive way. Use of small scale reflection to obtain decidable predicates. A constructive proof of Lovász Replication Lemma Equality of graphs and graph isomorphism Functions to automate constructions of new graphs. Future Work:

◮ An efficient way to represent Graph Expansion. ◮ Constructive proof of WPGT. ◮ Decompositions involved in the proof of SPGT.

slide-77
SLIDE 77

Conclusions

Modeling finite graphs in a constructive way. Use of small scale reflection to obtain decidable predicates. A constructive proof of Lovász Replication Lemma Equality of graphs and graph isomorphism Functions to automate constructions of new graphs. Future Work:

◮ An efficient way to represent Graph Expansion. ◮ Constructive proof of WPGT. ◮ Decompositions involved in the proof of SPGT.

slide-78
SLIDE 78

Conclusions

Modeling finite graphs in a constructive way. Use of small scale reflection to obtain decidable predicates. A constructive proof of Lovász Replication Lemma Equality of graphs and graph isomorphism Functions to automate constructions of new graphs. Future Work:

◮ An efficient way to represent Graph Expansion. ◮ Constructive proof of WPGT. ◮ Decompositions involved in the proof of SPGT.

slide-79
SLIDE 79

Conclusions

Modeling finite graphs in a constructive way. Use of small scale reflection to obtain decidable predicates. A constructive proof of Lovász Replication Lemma Equality of graphs and graph isomorphism Functions to automate constructions of new graphs. Future Work:

◮ An efficient way to represent Graph Expansion. ◮ Constructive proof of WPGT. ◮ Decompositions involved in the proof of SPGT.

slide-80
SLIDE 80

Conclusions

Modeling finite graphs in a constructive way. Use of small scale reflection to obtain decidable predicates. A constructive proof of Lovász Replication Lemma Equality of graphs and graph isomorphism Functions to automate constructions of new graphs. Future Work:

◮ An efficient way to represent Graph Expansion. ◮ Constructive proof of WPGT. ◮ Decompositions involved in the proof of SPGT.

slide-81
SLIDE 81

References

Maria Chudnovsky, Neil Robertson, Paul Seymour, and Robin Thomas. The strong perfect graph theorem. ANNALS OF MATHEMATICS, 164:51–229, 2006. Georges Gonthier and Assia Mahboubi. An introduction to small scale reflection in Coq. Journal of Formalized Reasoning, 3(2):95–152, 2010. Andras Gyarfas, Andras Sebo, and Nicolas Trotignon. The chromatic gap and its extremes. Journal of Combinatorial Theory, Series B, 102(5):1155 – 1178, 2012.

  • L. Lovász.

Normal hypergraphs and the perfect graph conjecture. Discrete Mathematics, 2(3):253 – 267, 1972.

slide-82
SLIDE 82

Thank You !