φ-patterns
Lax185574.PhiPatterns · concepts/Lax185574/PhiPatterns.lean · lax-185574
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural Language Statement
Definition
For a first-order formula φ(x̄, z), a φ-pattern is a (φ, ψ)-pattern with ψ(y, z) = E(y, z) or ψ(y, z) = ¬E(y, z). These are called a (φ, E)-pattern and a (φ, ¬E)-pattern, respectively. Such a pattern consists of tuples ā₁, …, ā_s ∈ V(G)^{|x̄|}, vertices b₁, …, b_t ∈ V(G) and (c_{i,j} : i ∈ [s], j ∈ [t]). The tuple b̄ = (b₁, …, b_t) is the base of the pattern.
Concept map
In the paper
- page 22 of this submission's paper
Lean source view on GitHub
| 1 | import Lax185574.PhiPsiPatterns |
| 2 | |
| 3 | /-! |
| 4 | --- |
| 5 | title: φ-patterns |
| 6 | type: definition |
| 7 | --- |
| 8 | For a first-order formula φ(x̄, z), a *φ-pattern* is a (φ, ψ)-pattern |
| 9 | with ψ(y, z) = E(y, z) or ψ(y, z) = ¬E(y, z). These are called a |
| 10 | *(φ, E)-pattern* and a *(φ, ¬E)-pattern*, respectively. Such a pattern |
| 11 | consists of tuples ā₁, …, ā_s ∈ V(G)^{|x̄|}, vertices b₁, …, b_t ∈ V(G) |
| 12 | and (c_{i,j} : i ∈ [s], j ∈ [t]). The tuple b̄ = (b₁, …, b_t) is the |
| 13 | *base* of the pattern. |
| 14 | |
| 15 | # Formalization notes |
| 16 | |
| 17 | The formula E(y, z) is the adjacency atom with y the single variable of |
| 18 | the left summand and z the variable of the right summand, as in |
| 19 | `PhiPsiPatterns`. A φ-pattern is a pattern for this formula or for its |
| 20 | negation. The base vertex bⱼ is the single entry of the tuple b̄ⱼ of |
| 21 | length one. |
| 22 | -/ |
| 23 | |
| 24 | namespace Lax185574.PhiPatterns |
| 25 | |
| 26 | open FirstOrder FirstOrder.Language |
| 27 | open Lax185574.PhiPsiPatterns |
| 28 | |
| 29 | universe u |
| 30 | |
| 31 | variable {V : Type u} |
| 32 | |
| 33 | /-- The formula `E(y, z)`. -/ |
| 34 | def edgeFormula : Language.graph.Formula (Fin 1 ⊕ Fin 1) := |
| 35 | Relations.formula₂ Language.adj (Term.var (Sum.inl 0)) (Term.var (Sum.inr 0)) |
| 36 | |
| 37 | /-- `G` contains a `φ`-pattern of order `s × t`: a `(φ, E)`-pattern or a |
| 38 | `(φ, ¬E)`-pattern. -/ |
| 39 | def HasPhiPattern (G : SimpleGraph V) {p : ℕ} |
| 40 | (φ : Language.graph.Formula (Fin p ⊕ Fin 1)) (s t : ℕ) : Prop := |
| 41 | HasPattern G φ edgeFormula s t ∨ HasPattern G φ edgeFormula.not s t |
| 42 | |
| 43 | end Lax185574.PhiPatterns |
| 44 |
Formalization notes
The formula E(y, z) is the adjacency atom with y the single variable of the left summand and z the variable of the right summand, as in . A φ-pattern is a pattern for this formula or for its negation. The base vertex bⱼ is the single entry of the tuple b̄ⱼ of length one.
Discussion
Ask a question or add context. Endorsements and structured flags are kept in the review panel above.
0 comments