Definable flips

Lax185574.DefinableFlips · concepts/Lax185574/DefinableFlips.lean · lax-185574

definition

Loading review…

Sign in with ORCID

Community review

Flags

Each flag is tied to a public ORCID identity and explains why this concept may be incorrect.

No flags have been submitted.

    Community review

    Flag this concept

    State precisely what appears incorrect. This explanation will be public under your ORCID name.

    No source line selected.

    Natural Language Statement

    Definition

    For s ∈ ℕ, an s-tuple p̄ = (p₁, …, p_s) of vertices of a graph G and a symmetric relation R ⊆ Π^s × Π^s, the graph G ⊕ (p̄, R) is the {p₁, …, p_s}-flip H of G obtained by partitioning V(G) into atomic types over p̄ and then flipping according to R. More precisely, for uv ∈ (V choose 2),

    uv ∈ E(H) △ E(G) ⟺ (atp^G(u/p̄), atp^G(v/p̄)) ∈ R.

    Such a flip is called s-definable. Equivalently, an s-definable flip is an S-flip for some S ⊆ V(G) of size at most s. An s-definable flip is also s'-definable for every s' ≥ s.

    Concept map
    11 concepts; 5 descendants hidden
    100%
    Proven claimDefinitionThis conceptRelated conceptA → B: B builds on A

    In the paper

    • page 20 of this submission's paper

    Lean source view on GitHub

    1import Lax185574.AtomicTypes
    2import Lax185574.Flips
    3import Lax185574.Partitions
    4
    5/-!
    6---
    7title: Definable flips
    8type: definition
    9---
    10For s ∈ ℕ, an s-tuple p̄ = (p₁, …, p_s) of vertices of a graph G and a
    11symmetric relation R ⊆ Π^s × Π^s, the graph G ⊕ (p̄, R) is the
    12{p₁, …, p_s}-flip H of G obtained by partitioning V(G) into atomic types
    13over p̄ and then flipping according to R. More precisely, for
    14uv ∈ (V choose 2),
    15
    16uv ∈ E(H) △ E(G) ⟺ (atp^G(u/p̄), atp^G(v/p̄)) ∈ R.
    17
    18Such a flip is called *s-definable*. Equivalently, an s-definable flip
    19is an S-flip for some S ⊆ V(G) of size at most s. An s-definable flip is
    20also s'-definable for every s' ≥ s.
    21
    22# Formalization notes
    23
    24An S-flip of G is a flip for the partition into atomic types over S,
    25`Flips.IsFlip G (Partitions.atomicTypes G S) H`.
    26
    27The graph G ⊕ (p̄, R) is `flipOver G p R`. It is built with
    28`SimpleGraph.fromRel`, which removes the diagonal and symmetrizes. For a
    29symmetric relation R the relation that is symmetrized is already
    30symmetric, so two distinct vertices are adjacent in `flipOver G p R`
    31exactly when their adjacency in G differs from membership of their
    32atomic types in R. Every statement about `flipOver` assumes R symmetric.
    33
    34An s-definable flip, `IsDefinableFlip G s H`, is defined by the second,
    35equivalent formulation: an S-flip for a finite set S of at most s
    36vertices. The two formulations agree on every graph with at least one
    37vertex, by listing S with repetitions as an s-tuple, or, if S is empty
    38and s ≥ 1, by a constant tuple, since every ∅-flip is also a {v}-flip. On the empty graph
    39there is no s-tuple for s ≥ 1, while the empty set still works. The
    40formulation by sets makes "s-definable implies s'-definable for s' ≥ s"
    41hold without exception.
    42-/
    43
    44namespace Lax185574.DefinableFlips
    45
    46open Lax185574.AtomicTypes Lax185574.Flips Lax185574.Partitions
    47
    48universe u
    49
    50variable {V : Type u}
    51
    52/-- `G ⊕ (p̄, R)`: two distinct vertices are adjacent if and only if
    53their adjacency in `G` differs from membership of the pair of their
    54atomic types over `p̄` in the symmetric relation `R`. -/
    55noncomputable def flipOver (G : SimpleGraph V) {s : ℕ} (p : Fin s → V)
    56 (R : (Fin s → PairType) → (Fin s → PairType) → Prop) : SimpleGraph V :=
    57 SimpleGraph.fromRel fun u v =>
    58 Xor (G.Adj u v) (R (atomicTypeOver G p u) (atomicTypeOver G p v))
    59
    60/-- `H` is an `s`-definable flip of `G`: an `S`-flip of `G` for some set
    61`S` of at most `s` vertices. -/
    62def IsDefinableFlip (G : SimpleGraph V) (s : ℕ) (H : SimpleGraph V) : Prop :=
    63 ∃ S : Finset V, S.card ≤ s ∧ IsFlip G (atomicTypes G (S : Set V)) H
    64
    65end Lax185574.DefinableFlips
    66
    Formalization notes

    An S-flip of G is a flip for the partition into atomic types over S, Flips.IsFlipG(Partitions.atomicTypesGS)HFlips.IsFlip G (Partitions.atomicTypes G S) H.

    The graph G ⊕ (p̄, R) is flipOverGpRflipOver G p R. It is built with SimpleGraph.fromRelSimpleGraph.fromRel, which removes the diagonal and symmetrizes. For a symmetric relation R the relation that is symmetrized is already symmetric, so two distinct vertices are adjacent in flipOverGpRflipOver G p R exactly when their adjacency in G differs from membership of their atomic types in R. Every statement about flipOverflipOver assumes R symmetric.

    An s-definable flip, IsDefinableFlipGsHIsDefinableFlip G s H, is defined by the second, equivalent formulation: an S-flip for a finite set S of at most s vertices. The two formulations agree on every graph with at least one vertex, by listing S with repetitions as an s-tuple, or, if S is empty and s ≥ 1, by a constant tuple, since every ∅-flip is also a {v}-flip. On the empty graph there is no s-tuple for s ≥ 1, while the empty set still works. The formulation by sets makes "s-definable implies s'-definable for s' ≥ s" hold without exception.

    Discussion

    Ask a question or add context. Endorsements and structured flags are kept in the review panel above.

    Loading discussion…