OAI/Computability/WLIdentification/Refinement.lean
15 declarations, 0 contain sorry, 0 declared as axioms
- theorem
OAI.WLIdentification.exists_colorEquivline 8Source documentation
Equality of finite color histograms admits a color-preserving bijection.
theorem exists_colorEquiv {α β γ : Type} [Fintype α] [Fintype β] (f : α → γ) (g : β → γ) (h : Finset.univ.val.map f = Finset.univ.val.map g) : ∃ e : α ≃ β, ∀ a, f a = g (e a) := by … - theorem
OAI.WLIdentification.tupleRound_bijectionline 26Source documentation
A round witness is a bijection on the entire tuple table.
theorem tupleRound_bijection {G H : Graph} {k s : ℕ} (h : tupleHistogram G k s = tupleHistogram H k s) : ∃ e : (Fin k → Fin G.order) ≃ (Fin k → Fin H.order), ∀ v, tupleColor G k s v = tupleColor H k s (e v) := …Mentions: OAI.WLIdentification.Graph, OAI.WLIdentification.tupleHistogram, OAI.WLIdentification.tupleColor
- def
OAI.WLIdentification.degreeline 32 - def
OAI.WLIdentification.degreeOfColorline 36Source documentation
Degree is already recoverable from a joint-update round, with two distinct slots.
def degreeOfColor {k : ℕ} (i j : Fin k) (c : TupleColor k 1) : ℕ := …Mentions: OAI.WLIdentification.TupleColor
- theorem
OAI.WLIdentification.degreeOfColor_tupleline 40 - theorem
OAI.WLIdentification.round_one_localline 56Source documentation
Equal one-round tuple colors preserve adjacency, equality and the degrees of its slots.
theorem round_one_local {G H : Graph} {k : ℕ} (hk : 2 ≤ k) {v : Fin k → Fin G.order} {w : Fin k → Fin H.order} (h : tupleColor G k 1 v = tupleColor H k 1 w) : (∀ i j, v i = v j ↔ w i = w j) ∧ (∀ i j, G.edge (v i) (v j) = H.edge (w i) (w j)) ∧ (∀ i, degree G (v i) = degree H (w i)) := by …Mentions: OAI.WLIdentification.Graph, OAI.WLIdentification.tupleColor, OAI.WLIdentification.degree
- def
OAI.WLIdentification.diagonalEquivline 84 - theorem
OAI.WLIdentification.round_one_degreeBijectionline 95Source documentation
Matching diagonal tuples yields exactly a degree-preserving vertex bijection.
theorem round_one_degreeBijection {G H : Graph} {k : ℕ} (hk : 2 ≤ k) (h : tupleHistogram G k 1 = tupleHistogram H k 1) : ∃ e : Fin G.order ≃ Fin H.order, ∀ v, degree G v = degree H (e v) := by …Mentions: OAI.WLIdentification.Graph, OAI.WLIdentification.tupleHistogram, OAI.WLIdentification.degree
- theorem
OAI.WLIdentification.equivalent_degreeBijectionline 112Source documentation
The needed local reconstruction information follows from the literal r-WL definition.
theorem equivalent_degreeBijection {G H : Graph} {k : ℕ} (hk : 2 ≤ k) (h : Equivalent k G H) : ∃ e : Fin G.order ≃ Fin H.order, ∀ v, degree G v = degree H (e v) := by …Mentions: OAI.WLIdentification.Graph, OAI.WLIdentification.Equivalent, OAI.WLIdentification.degree
- theorem
OAI.WLIdentification.equivalent_local_matchline 121Source documentation
Any at most k distinguished vertices have a simultaneous degree-and-incidence match. This is enough to recover a whole bounded-size incidence piece, not just one valuation.
theorem equivalent_local_match {G H : Graph} {k m : ℕ} (hk : 2 ≤ k) (h : Equivalent k G H) (hm : m ≤ k) (hm0 : 0 < m) (v : Fin m → Fin G.order) : ∃ w : Fin m → Fin H.order, (∀ i j, v i = v j ↔ w i = w j) ∧ (∀ i j, G.edge (v i) (v j) = H.edge (w i) (w j)) ∧ (∀ i, degree G (v i) = degree H (w i)) := by …Mentions: OAI.WLIdentification.Graph, OAI.WLIdentification.Equivalent, OAI.WLIdentification.degree
- theorem
OAI.WLIdentification.round_two_neighborBijectionline 144Source documentation
A second joint round gives a single vertex bijection preserving adjacency to any distinguished slot and the degrees of all possible next vertices.
theorem round_two_neighborBijection {G H : Graph} {k : ℕ} (hk : 2 ≤ k) {v : Fin k → Fin G.order} {w : Fin k → Fin H.order} (h : tupleColor G k 2 v = tupleColor H k 2 w) (i : Fin k) : ∃ e : Fin G.order ≃ Fin H.order, ∀ z, G.edge (v i) z = H.edge (w i) (e z) ∧ degree G z = degree H (e z) := by …Mentions: OAI.WLIdentification.Graph, OAI.WLIdentification.tupleColor, OAI.WLIdentification.degree
- def
OAI.WLIdentification.degreeNeighborsline 171 - theorem
OAI.WLIdentification.round_two_degreeNeighborsline 174 - theorem
OAI.WLIdentification.equivalent_symmline 183 - theorem
OAI.WLIdentification.equivalent_local_neighborhood_matchline 190Source documentation
In particular private-leaf counts, rather than just total degrees, are preserved by a simultaneous local match in every equivalent mate.
theorem equivalent_local_neighborhood_match {G H : Graph} {k m : ℕ} (hk : 2 ≤ k) (h : Equivalent k G H) (hm : m ≤ k) (hm0 : 0 < m) (v : Fin m → Fin G.order) : ∃ w : Fin m → Fin H.order, (∀ i j, v i = v j ↔ w i = w j) ∧ (∀ i j, G.edge (v i) (v j) = H.edge (w i) (w j)) ∧ (∀ i, degree G (v i) = degree H (w i)) ∧ (∀ i d, degreeNeighbors G (v i) d = degreeNeighbors H (w i) d) := by …Mentions: OAI.WLIdentification.Graph, OAI.WLIdentification.Equivalent, OAI.WLIdentification.degree, OAI.WLIdentification.degreeNeighbors