Koalgebra CTS Nominelle Mengen Minimalitätsbegriff Erreichbarkeit Verhaltensäquivalenz 1 / 16 Koalgebraische Semantik und Minimierung in Mengen und darüber hinaus Coalgebraic Semantics and Minimization in Sets and Beyond Thorsten Wißmann 3. Juni 2020 FAU Erlangen-Nürnberg
83
Embed
Koalgebraische Semantik und Minimierung in Mengen und ...re06huxa/defense-talk... · Semantik Minimierung Kapitel2 Standard-Literatur Kapitel5 Erreichbarkeit Kapitel6 Verhaltensäquivalenz
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
von (C , f , x0) = Kleinste punktierteUnterkoalgebra
Theorem Wenn F unendliche Schnitteschwache Bedingung
erhält und die Kategorieein Faktorisierungssystem hat:• Iterative Konstruktion (höchstens abzählbar viele Schritte).• Konstruktion ist funktoriell, wenn F Urbilder erhält.
von (C , f , x0) = Kleinste punktierteUnterkoalgebra
Theorem Wenn F unendliche Schnitteschwache Bedingung
erhält und die Kategorieein Faktorisierungssystem hat:• Iterative Konstruktion (höchstens abzählbar viele Schritte).• Konstruktion ist funktoriell, wenn F Urbilder erhält.
von (C , f , x0) = Kleinste punktierteUnterkoalgebra
Theorem Wenn F unendliche Schnitteschwache Bedingung
erhält und die Kategorieein Faktorisierungssystem hat:• Iterative Konstruktion (höchstens abzählbar viele Schritte).• Konstruktion ist funktoriell, wenn F Urbilder erhält.
Konstruktion des kleinsten Quotienten von c∶C → FC inKategorie mit (RegEpi,Mono)-Faktorisierungssystem
Partitionen: Pi ≤ Qi auf C , werden schrittweise verfeinertHeuristik: Welche Information wird als Nächstes weiterver-arbeitet?• Alles gleichzeitig ⇒ Qi+1 = Pi
„Final Chain Algorithmus“ [König, Küpper ’14]• „Smaller half“ ⇒ S ∈ C/Pi B ∈ C/Qi S ⊆ B mit
∣S∣ ≤ 12 ⋅ ∣B∣
Optimierung für Koalgebren in Set:Inkrementelle Berechnung der Partitionen
Wenn F zippable, d.h. wenn
F(A + B)⟶ F(A + 1) × F(1 + B) injektiv
dann: Qi+1 = Qi ∩ kerχBS Pi+1 = Pi ∩ ker(χB
S ⋅ c)(zippable nicht abgeschlossen unter: Komposition, Quotient)
Pseudocode für Verfeinerungs-Schritt,Refinement-Interface für Funktor-Spezifisches
Encoding: ♭∶FX → B(A × X)Refinement-Interface für F :init∶F1→ BA→Wupdate∶BA ×W →W × F3 ×W
Korrektheit: w ∶PX → (FX →W ). . . . . .
a1 a2 a3 a4 a5 a6
S B \ S
" "
"
Laufzeitanalyse: O(mKanten
⋅ log nZustände) für F ∈ {Pf, M(−), R(−), B, Σ}
Laufzeit: O((m + n) ⋅ log n ⋅ p(C , c))Fast immer: m ≥ nLaufzeit-Parameter p(C , c) des Refinement Interfaces:p(C , c) = log min(∣M∣,m) für M(−) wenn M nicht kürzbarp(C , c) = maxσ∈Σ ar(σ) für Polynomialfunktor Σp(C , c) = 1 sonst
Modularität: Kombination der Funktoren via: +, ×, ◦
Vorverarbeitung durch Erzeugen von Zwischenzuständen:(F ◦ G)-Koalgebren ↝ (F + G)-KoalgebrenKonstruktion in extensiver Kategorie
Konstruktion des kleinsten Quotienten von c∶C → FC inKategorie mit (RegEpi,Mono)-Faktorisierungssystem
Partitionen: Pi ≤ Qi auf C , werden schrittweise verfeinertHeuristik: Welche Information wird als Nächstes weiterver-arbeitet?• Alles gleichzeitig ⇒ Qi+1 = Pi
„Final Chain Algorithmus“ [König, Küpper ’14]• „Smaller half“ ⇒ S ∈ C/Pi B ∈ C/Qi S ⊆ B mit
∣S∣ ≤ 12 ⋅ ∣B∣
Optimierung für Koalgebren in Set:Inkrementelle Berechnung der Partitionen
Wenn F zippable, d.h. wenn
F(A + B)⟶ F(A + 1) × F(1 + B) injektiv
dann: Qi+1 = Qi ∩ kerχBS Pi+1 = Pi ∩ ker(χB
S ⋅ c)(zippable nicht abgeschlossen unter: Komposition, Quotient)
Pseudocode für Verfeinerungs-Schritt,Refinement-Interface für Funktor-Spezifisches
Encoding: ♭∶FX → B(A × X)Refinement-Interface für F :init∶F1→ BA→Wupdate∶BA ×W →W × F3 ×W
Korrektheit: w ∶PX → (FX →W ). . . . . .
a1 a2 a3 a4 a5 a6
S B \ S
" "
"
Laufzeitanalyse: O(mKanten
⋅ log nZustände) für F ∈ {Pf, M(−), R(−), B, Σ}
Laufzeit: O((m + n) ⋅ log n ⋅ p(C , c))Fast immer: m ≥ nLaufzeit-Parameter p(C , c) des Refinement Interfaces:p(C , c) = log min(∣M∣,m) für M(−) wenn M nicht kürzbarp(C , c) = maxσ∈Σ ar(σ) für Polynomialfunktor Σp(C , c) = 1 sonst
Modularität: Kombination der Funktoren via: +, ×, ◦
Vorverarbeitung durch Erzeugen von Zwischenzuständen:(F ◦ G)-Koalgebren ↝ (F + G)-KoalgebrenKonstruktion in extensiver Kategorie
Konstruktion des kleinsten Quotienten von c∶C → FC inKategorie mit (RegEpi,Mono)-Faktorisierungssystem
Partitionen: Pi ≤ Qi auf C , werden schrittweise verfeinertHeuristik: Welche Information wird als Nächstes weiterver-arbeitet?• Alles gleichzeitig ⇒ Qi+1 = Pi
„Final Chain Algorithmus“ [König, Küpper ’14]• „Smaller half“ ⇒ S ∈ C/Pi B ∈ C/Qi S ⊆ B mit
∣S∣ ≤ 12 ⋅ ∣B∣
Optimierung für Koalgebren in Set:Inkrementelle Berechnung der Partitionen
Wenn F zippable, d.h. wenn
F(A + B)⟶ F(A + 1) × F(1 + B) injektiv
dann: Qi+1 = Qi ∩ kerχBS Pi+1 = Pi ∩ ker(χB
S ⋅ c)(zippable nicht abgeschlossen unter: Komposition, Quotient)
Pseudocode für Verfeinerungs-Schritt,Refinement-Interface für Funktor-Spezifisches
Encoding: ♭∶FX → B(A × X)Refinement-Interface für F :init∶F1→ BA→Wupdate∶BA ×W →W × F3 ×W
Korrektheit: w ∶PX → (FX →W ). . . . . .
a1 a2 a3 a4 a5 a6
S B \ S
" "
"
Laufzeitanalyse: O(mKanten
⋅ log nZustände) für F ∈ {Pf, M(−), R(−), B, Σ}
Laufzeit: O((m + n) ⋅ log n ⋅ p(C , c))Fast immer: m ≥ nLaufzeit-Parameter p(C , c) des Refinement Interfaces:p(C , c) = log min(∣M∣,m) für M(−) wenn M nicht kürzbarp(C , c) = maxσ∈Σ ar(σ) für Polynomialfunktor Σp(C , c) = 1 sonst
Modularität: Kombination der Funktoren via: +, ×, ◦
Vorverarbeitung durch Erzeugen von Zwischenzuständen:(F ◦ G)-Koalgebren ↝ (F + G)-KoalgebrenKonstruktion in extensiver Kategorie
Konstruktion des kleinsten Quotienten von c∶C → FC inKategorie mit (RegEpi,Mono)-Faktorisierungssystem
Partitionen: Pi ≤ Qi auf C , werden schrittweise verfeinertHeuristik: Welche Information wird als Nächstes weiterver-arbeitet?• Alles gleichzeitig ⇒ Qi+1 = Pi
„Final Chain Algorithmus“ [König, Küpper ’14]• „Smaller half“ ⇒ S ∈ C/Pi B ∈ C/Qi S ⊆ B mit
∣S∣ ≤ 12 ⋅ ∣B∣
Optimierung für Koalgebren in Set:Inkrementelle Berechnung der Partitionen
Wenn F zippable, d.h. wenn
F(A + B)⟶ F(A + 1) × F(1 + B) injektiv
dann: Qi+1 = Qi ∩ kerχBS Pi+1 = Pi ∩ ker(χB
S ⋅ c)(zippable nicht abgeschlossen unter: Komposition, Quotient)
Pseudocode für Verfeinerungs-Schritt,Refinement-Interface für Funktor-Spezifisches
Encoding: ♭∶FX → B(A × X)Refinement-Interface für F :init∶F1→ BA→Wupdate∶BA ×W →W × F3 ×W
Korrektheit: w ∶PX → (FX →W ). . . . . .
a1 a2 a3 a4 a5 a6
S B \ S
" "
"
Laufzeitanalyse: O(mKanten
⋅ log nZustände) für F ∈ {Pf, M(−), R(−), B, Σ}
Laufzeit: O((m + n) ⋅ log n ⋅ p(C , c))Fast immer: m ≥ nLaufzeit-Parameter p(C , c) des Refinement Interfaces:p(C , c) = log min(∣M∣,m) für M(−) wenn M nicht kürzbarp(C , c) = maxσ∈Σ ar(σ) für Polynomialfunktor Σp(C , c) = 1 sonst
Modularität: Kombination der Funktoren via: +, ×, ◦
Vorverarbeitung durch Erzeugen von Zwischenzuständen:(F ◦ G)-Koalgebren ↝ (F + G)-KoalgebrenKonstruktion in extensiver Kategorie
Konstruktion des kleinsten Quotienten von c∶C → FC inKategorie mit (RegEpi,Mono)-Faktorisierungssystem
Partitionen: Pi ≤ Qi auf C , werden schrittweise verfeinertHeuristik: Welche Information wird als Nächstes weiterver-arbeitet?• Alles gleichzeitig ⇒ Qi+1 = Pi
„Final Chain Algorithmus“ [König, Küpper ’14]• „Smaller half“ ⇒ S ∈ C/Pi B ∈ C/Qi S ⊆ B mit
∣S∣ ≤ 12 ⋅ ∣B∣
Optimierung für Koalgebren in Set:Inkrementelle Berechnung der Partitionen
Wenn F zippable, d.h. wenn
F(A + B)⟶ F(A + 1) × F(1 + B) injektiv
dann: Qi+1 = Qi ∩ kerχBS Pi+1 = Pi ∩ ker(χB
S ⋅ c)(zippable nicht abgeschlossen unter: Komposition, Quotient)
Pseudocode für Verfeinerungs-Schritt,Refinement-Interface für Funktor-Spezifisches
Encoding: ♭∶FX → B(A × X)Refinement-Interface für F :init∶F1→ BA→Wupdate∶BA ×W →W × F3 ×W
Korrektheit: w ∶PX → (FX →W ). . . . . .
a1 a2 a3 a4 a5 a6
S B \ S
" "
"
Laufzeitanalyse: O(mKanten
⋅ log nZustände) für F ∈ {Pf, M(−), R(−), B, Σ}
Laufzeit: O((m + n) ⋅ log n ⋅ p(C , c))Fast immer: m ≥ nLaufzeit-Parameter p(C , c) des Refinement Interfaces:p(C , c) = log min(∣M∣,m) für M(−) wenn M nicht kürzbarp(C , c) = maxσ∈Σ ar(σ) für Polynomialfunktor Σp(C , c) = 1 sonst
Modularität: Kombination der Funktoren via: +, ×, ◦
Vorverarbeitung durch Erzeugen von Zwischenzuständen:(F ◦ G)-Koalgebren ↝ (F + G)-KoalgebrenKonstruktion in extensiver Kategorie
Konstruktion des kleinsten Quotienten von c∶C → FC inKategorie mit (RegEpi,Mono)-Faktorisierungssystem
Partitionen: Pi ≤ Qi auf C , werden schrittweise verfeinertHeuristik: Welche Information wird als Nächstes weiterver-arbeitet?• Alles gleichzeitig ⇒ Qi+1 = Pi
„Final Chain Algorithmus“ [König, Küpper ’14]• „Smaller half“ ⇒ S ∈ C/Pi B ∈ C/Qi S ⊆ B mit
∣S∣ ≤ 12 ⋅ ∣B∣
Optimierung für Koalgebren in Set:Inkrementelle Berechnung der Partitionen
Wenn F zippable, d.h. wenn
F(A + B)⟶ F(A + 1) × F(1 + B) injektiv
dann: Qi+1 = Qi ∩ kerχBS Pi+1 = Pi ∩ ker(χB
S ⋅ c)(zippable nicht abgeschlossen unter: Komposition, Quotient)
Pseudocode für Verfeinerungs-Schritt,Refinement-Interface für Funktor-Spezifisches
Encoding: ♭∶FX → B(A × X)Refinement-Interface für F :init∶F1→ BA→Wupdate∶BA ×W →W × F3 ×W
Korrektheit: w ∶PX → (FX →W ). . . . . .
a1 a2 a3 a4 a5 a6
S B \ S
" "
"
Laufzeitanalyse: O(mKanten
⋅ log nZustände) für F ∈ {Pf, M(−), R(−), B, Σ}
Laufzeit: O((m + n) ⋅ log n ⋅ p(C , c))Fast immer: m ≥ nLaufzeit-Parameter p(C , c) des Refinement Interfaces:p(C , c) = log min(∣M∣,m) für M(−) wenn M nicht kürzbarp(C , c) = maxσ∈Σ ar(σ) für Polynomialfunktor Σp(C , c) = 1 sonst
Modularität: Kombination der Funktoren via: +, ×, ◦
Vorverarbeitung durch Erzeugen von Zwischenzuständen:(F ◦ G)-Koalgebren ↝ (F + G)-KoalgebrenKonstruktion in extensiver Kategorie
Konstruktion des kleinsten Quotienten von c∶C → FC inKategorie mit (RegEpi,Mono)-Faktorisierungssystem
Partitionen: Pi ≤ Qi auf C , werden schrittweise verfeinertHeuristik: Welche Information wird als Nächstes weiterver-arbeitet?• Alles gleichzeitig ⇒ Qi+1 = Pi
„Final Chain Algorithmus“ [König, Küpper ’14]• „Smaller half“ ⇒ S ∈ C/Pi B ∈ C/Qi S ⊆ B mit
∣S∣ ≤ 12 ⋅ ∣B∣
Optimierung für Koalgebren in Set:Inkrementelle Berechnung der Partitionen
Wenn F zippable, d.h. wenn
F(A + B)⟶ F(A + 1) × F(1 + B) injektiv
dann: Qi+1 = Qi ∩ kerχBS Pi+1 = Pi ∩ ker(χB
S ⋅ c)(zippable nicht abgeschlossen unter: Komposition, Quotient)
Pseudocode für Verfeinerungs-Schritt,Refinement-Interface für Funktor-Spezifisches
Encoding: ♭∶FX → B(A × X)Refinement-Interface für F :init∶F1→ BA→Wupdate∶BA ×W →W × F3 ×W
Korrektheit: w ∶PX → (FX →W ). . . . . .
a1 a2 a3 a4 a5 a6
S B \ S
" "
"
Laufzeitanalyse: O(mKanten
⋅ log nZustände) für F ∈ {Pf, M(−), R(−), B, Σ}
Laufzeit: O((m + n) ⋅ log n ⋅ p(C , c))Fast immer: m ≥ nLaufzeit-Parameter p(C , c) des Refinement Interfaces:p(C , c) = log min(∣M∣,m) für M(−) wenn M nicht kürzbarp(C , c) = maxσ∈Σ ar(σ) für Polynomialfunktor Σp(C , c) = 1 sonst
Modularität: Kombination der Funktoren via: +, ×, ◦
Vorverarbeitung durch Erzeugen von Zwischenzuständen:(F ◦ G)-Koalgebren ↝ (F + G)-KoalgebrenKonstruktion in extensiver Kategorie
Konstruktion des kleinsten Quotienten von c∶C → FC inKategorie mit (RegEpi,Mono)-Faktorisierungssystem
Partitionen: Pi ≤ Qi auf C , werden schrittweise verfeinertHeuristik: Welche Information wird als Nächstes weiterver-arbeitet?• Alles gleichzeitig ⇒ Qi+1 = Pi
„Final Chain Algorithmus“ [König, Küpper ’14]• „Smaller half“ ⇒ S ∈ C/Pi B ∈ C/Qi S ⊆ B mit
∣S∣ ≤ 12 ⋅ ∣B∣
Optimierung für Koalgebren in Set:Inkrementelle Berechnung der Partitionen
Wenn F zippable, d.h. wenn
F(A + B)⟶ F(A + 1) × F(1 + B) injektiv
dann: Qi+1 = Qi ∩ kerχBS Pi+1 = Pi ∩ ker(χB
S ⋅ c)(zippable nicht abgeschlossen unter: Komposition, Quotient)
Pseudocode für Verfeinerungs-Schritt,Refinement-Interface für Funktor-Spezifisches
Encoding: ♭∶FX → B(A × X)Refinement-Interface für F :init∶F1→ BA→Wupdate∶BA ×W →W × F3 ×W
Korrektheit: w ∶PX → (FX →W ). . . . . .
a1 a2 a3 a4 a5 a6
S B \ S
" "
"
Laufzeitanalyse: O(mKanten
⋅ log nZustände) für F ∈ {Pf, M(−), R(−), B, Σ}
Laufzeit: O((m + n) ⋅ log n ⋅ p(C , c))Fast immer: m ≥ nLaufzeit-Parameter p(C , c) des Refinement Interfaces:p(C , c) = log min(∣M∣,m) für M(−) wenn M nicht kürzbarp(C , c) = maxσ∈Σ ar(σ) für Polynomialfunktor Σp(C , c) = 1 sonst
Modularität: Kombination der Funktoren via: +, ×, ◦
Vorverarbeitung durch Erzeugen von Zwischenzuständen:(F ◦ G)-Koalgebren ↝ (F + G)-KoalgebrenKonstruktion in extensiver Kategorie
Konstruktion des kleinsten Quotienten von c∶C → FC inKategorie mit (RegEpi,Mono)-Faktorisierungssystem
Partitionen: Pi ≤ Qi auf C , werden schrittweise verfeinertHeuristik: Welche Information wird als Nächstes weiterver-arbeitet?• Alles gleichzeitig ⇒ Qi+1 = Pi
„Final Chain Algorithmus“ [König, Küpper ’14]• „Smaller half“ ⇒ S ∈ C/Pi B ∈ C/Qi S ⊆ B mit
∣S∣ ≤ 12 ⋅ ∣B∣
Optimierung für Koalgebren in Set:Inkrementelle Berechnung der Partitionen
Wenn F zippable, d.h. wenn
F(A + B)⟶ F(A + 1) × F(1 + B) injektiv
dann: Qi+1 = Qi ∩ kerχBS Pi+1 = Pi ∩ ker(χB
S ⋅ c)(zippable nicht abgeschlossen unter: Komposition, Quotient)
Pseudocode für Verfeinerungs-Schritt,Refinement-Interface für Funktor-Spezifisches
Encoding: ♭∶FX → B(A × X)Refinement-Interface für F :init∶F1→ BA→Wupdate∶BA ×W →W × F3 ×W
Korrektheit: w ∶PX → (FX →W ). . . . . .
a1 a2 a3 a4 a5 a6
S B \ S
" "
"
Laufzeitanalyse: O(mKanten
⋅ log nZustände) für F ∈ {Pf, M(−), R(−), B, Σ}
Laufzeit: O((m + n) ⋅ log n ⋅ p(C , c))Fast immer: m ≥ nLaufzeit-Parameter p(C , c) des Refinement Interfaces:p(C , c) = log min(∣M∣,m) für M(−) wenn M nicht kürzbarp(C , c) = maxσ∈Σ ar(σ) für Polynomialfunktor Σp(C , c) = 1 sonst
Modularität: Kombination der Funktoren via: +, ×, ◦
Vorverarbeitung durch Erzeugen von Zwischenzuständen:(F ◦ G)-Koalgebren ↝ (F + G)-KoalgebrenKonstruktion in extensiver Kategorie
Konstruktion des kleinsten Quotienten von c∶C → FC inKategorie mit (RegEpi,Mono)-Faktorisierungssystem
Partitionen: Pi ≤ Qi auf C , werden schrittweise verfeinertHeuristik: Welche Information wird als Nächstes weiterver-arbeitet?• Alles gleichzeitig ⇒ Qi+1 = Pi
„Final Chain Algorithmus“ [König, Küpper ’14]• „Smaller half“ ⇒ S ∈ C/Pi B ∈ C/Qi S ⊆ B mit
∣S∣ ≤ 12 ⋅ ∣B∣
Optimierung für Koalgebren in Set:Inkrementelle Berechnung der Partitionen
Wenn F zippable, d.h. wenn
F(A + B)⟶ F(A + 1) × F(1 + B) injektiv
dann: Qi+1 = Qi ∩ kerχBS Pi+1 = Pi ∩ ker(χB
S ⋅ c)(zippable nicht abgeschlossen unter: Komposition, Quotient)
Pseudocode für Verfeinerungs-Schritt,Refinement-Interface für Funktor-Spezifisches
Encoding: ♭∶FX → B(A × X)Refinement-Interface für F :init∶F1→ BA→Wupdate∶BA ×W →W × F3 ×W
Korrektheit: w ∶PX → (FX →W ). . . . . .
a1 a2 a3 a4 a5 a6
S B \ S
" "
"
Laufzeitanalyse: O(mKanten
⋅ log nZustände) für F ∈ {Pf, M(−), R(−), B, Σ}
Laufzeit: O((m + n) ⋅ log n ⋅ p(C , c))Fast immer: m ≥ nLaufzeit-Parameter p(C , c) des Refinement Interfaces:p(C , c) = log min(∣M∣,m) für M(−) wenn M nicht kürzbarp(C , c) = maxσ∈Σ ar(σ) für Polynomialfunktor Σp(C , c) = 1 sonst
Modularität: Kombination der Funktoren via: +, ×, ◦
Vorverarbeitung durch Erzeugen von Zwischenzuständen:(F ◦ G)-Koalgebren ↝ (F + G)-KoalgebrenKonstruktion in extensiver Kategorie
Konstruktion des kleinsten Quotienten von c∶C → FC inKategorie mit (RegEpi,Mono)-Faktorisierungssystem
Partitionen: Pi ≤ Qi auf C , werden schrittweise verfeinertHeuristik: Welche Information wird als Nächstes weiterver-arbeitet?• Alles gleichzeitig ⇒ Qi+1 = Pi
„Final Chain Algorithmus“ [König, Küpper ’14]• „Smaller half“ ⇒ S ∈ C/Pi B ∈ C/Qi S ⊆ B mit
∣S∣ ≤ 12 ⋅ ∣B∣
Optimierung für Koalgebren in Set:Inkrementelle Berechnung der Partitionen
Wenn F zippable, d.h. wenn
F(A + B)⟶ F(A + 1) × F(1 + B) injektiv
dann: Qi+1 = Qi ∩ kerχBS Pi+1 = Pi ∩ ker(χB
S ⋅ c)(zippable nicht abgeschlossen unter: Komposition, Quotient)
Pseudocode für Verfeinerungs-Schritt,Refinement-Interface für Funktor-Spezifisches
Encoding: ♭∶FX → B(A × X)Refinement-Interface für F :init∶F1→ BA→Wupdate∶BA ×W →W × F3 ×W
Korrektheit: w ∶PX → (FX →W ). . . . . .
a1 a2 a3 a4 a5 a6
S B \ S
" "
"
Laufzeitanalyse: O(mKanten
⋅ log nZustände) für F ∈ {Pf, M(−), R(−), B, Σ}
Laufzeit: O((m + n) ⋅ log n ⋅ p(C , c))Fast immer: m ≥ nLaufzeit-Parameter p(C , c) des Refinement Interfaces:p(C , c) = log min(∣M∣,m) für M(−) wenn M nicht kürzbarp(C , c) = maxσ∈Σ ar(σ) für Polynomialfunktor Σp(C , c) = 1 sonst
Modularität: Kombination der Funktoren via: +, ×, ◦
Vorverarbeitung durch Erzeugen von Zwischenzuständen:(F ◦ G)-Koalgebren ↝ (F + G)-KoalgebrenKonstruktion in extensiver Kategorie
Konstruktion des kleinsten Quotienten von c∶C → FC inKategorie mit (RegEpi,Mono)-Faktorisierungssystem
Partitionen: Pi ≤ Qi auf C , werden schrittweise verfeinertHeuristik: Welche Information wird als Nächstes weiterver-arbeitet?• Alles gleichzeitig ⇒ Qi+1 = Pi
„Final Chain Algorithmus“ [König, Küpper ’14]• „Smaller half“ ⇒ S ∈ C/Pi B ∈ C/Qi S ⊆ B mit
∣S∣ ≤ 12 ⋅ ∣B∣
Optimierung für Koalgebren in Set:Inkrementelle Berechnung der Partitionen
Wenn F zippable, d.h. wenn
F(A + B)⟶ F(A + 1) × F(1 + B) injektiv
dann: Qi+1 = Qi ∩ kerχBS Pi+1 = Pi ∩ ker(χB
S ⋅ c)(zippable nicht abgeschlossen unter: Komposition, Quotient)
Pseudocode für Verfeinerungs-Schritt,Refinement-Interface für Funktor-Spezifisches
Encoding: ♭∶FX → B(A × X)Refinement-Interface für F :init∶F1→ BA→Wupdate∶BA ×W →W × F3 ×W
Korrektheit: w ∶PX → (FX →W ). . . . . .
a1 a2 a3 a4 a5 a6
S B \ S
" "
"
Laufzeitanalyse: O(mKanten
⋅ log nZustände) für F ∈ {Pf, M(−), R(−), B, Σ}
Laufzeit: O((m + n) ⋅ log n ⋅ p(C , c))Fast immer: m ≥ nLaufzeit-Parameter p(C , c) des Refinement Interfaces:p(C , c) = log min(∣M∣,m) für M(−) wenn M nicht kürzbarp(C , c) = maxσ∈Σ ar(σ) für Polynomialfunktor Σp(C , c) = 1 sonst
Modularität: Kombination der Funktoren via: +, ×, ◦
Vorverarbeitung durch Erzeugen von Zwischenzuständen:(F ◦ G)-Koalgebren ↝ (F + G)-KoalgebrenKonstruktion in extensiver Kategorie
Konstruktion des kleinsten Quotienten von c∶C → FC inKategorie mit (RegEpi,Mono)-Faktorisierungssystem
Partitionen: Pi ≤ Qi auf C , werden schrittweise verfeinertHeuristik: Welche Information wird als Nächstes weiterver-arbeitet?• Alles gleichzeitig ⇒ Qi+1 = Pi
„Final Chain Algorithmus“ [König, Küpper ’14]• „Smaller half“ ⇒ S ∈ C/Pi B ∈ C/Qi S ⊆ B mit
∣S∣ ≤ 12 ⋅ ∣B∣
Optimierung für Koalgebren in Set:Inkrementelle Berechnung der Partitionen
Wenn F zippable, d.h. wenn
F(A + B)⟶ F(A + 1) × F(1 + B) injektiv
dann: Qi+1 = Qi ∩ kerχBS Pi+1 = Pi ∩ ker(χB
S ⋅ c)(zippable nicht abgeschlossen unter: Komposition, Quotient)
Pseudocode für Verfeinerungs-Schritt,Refinement-Interface für Funktor-Spezifisches
Encoding: ♭∶FX → B(A × X)Refinement-Interface für F :init∶F1→ BA→Wupdate∶BA ×W →W × F3 ×W
Korrektheit: w ∶PX → (FX →W ). . . . . .
a1 a2 a3 a4 a5 a6
S B \ S
" "
"
Laufzeitanalyse: O(mKanten
⋅ log nZustände) für F ∈ {Pf, M(−), R(−), B, Σ}
Laufzeit: O((m + n) ⋅ log n ⋅ p(C , c))Fast immer: m ≥ nLaufzeit-Parameter p(C , c) des Refinement Interfaces:p(C , c) = log min(∣M∣,m) für M(−) wenn M nicht kürzbarp(C , c) = maxσ∈Σ ar(σ) für Polynomialfunktor Σp(C , c) = 1 sonst
Modularität: Kombination der Funktoren via: +, ×, ◦
Vorverarbeitung durch Erzeugen von Zwischenzuständen:(F ◦ G)-Koalgebren ↝ (F + G)-KoalgebrenKonstruktion in extensiver Kategorie
Konstruktion des kleinsten Quotienten von c∶C → FC inKategorie mit (RegEpi,Mono)-Faktorisierungssystem
Partitionen: Pi ≤ Qi auf C , werden schrittweise verfeinertHeuristik: Welche Information wird als Nächstes weiterver-arbeitet?• Alles gleichzeitig ⇒ Qi+1 = Pi
„Final Chain Algorithmus“ [König, Küpper ’14]• „Smaller half“ ⇒ S ∈ C/Pi B ∈ C/Qi S ⊆ B mit
∣S∣ ≤ 12 ⋅ ∣B∣
Optimierung für Koalgebren in Set:Inkrementelle Berechnung der Partitionen
Wenn F zippable, d.h. wenn
F(A + B)⟶ F(A + 1) × F(1 + B) injektiv
dann: Qi+1 = Qi ∩ kerχBS Pi+1 = Pi ∩ ker(χB
S ⋅ c)(zippable nicht abgeschlossen unter: Komposition, Quotient)
Pseudocode für Verfeinerungs-Schritt,Refinement-Interface für Funktor-Spezifisches
Encoding: ♭∶FX → B(A × X)Refinement-Interface für F :init∶F1→ BA→Wupdate∶BA ×W →W × F3 ×W
Korrektheit: w ∶PX → (FX →W ). . . . . .
a1 a2 a3 a4 a5 a6
S B \ S
" "
"
Laufzeitanalyse: O(mKanten
⋅ log nZustände) für F ∈ {Pf, M(−), R(−), B, Σ}
Laufzeit: O((m + n) ⋅ log n ⋅ p(C , c))Fast immer: m ≥ nLaufzeit-Parameter p(C , c) des Refinement Interfaces:p(C , c) = log min(∣M∣,m) für M(−) wenn M nicht kürzbarp(C , c) = maxσ∈Σ ar(σ) für Polynomialfunktor Σp(C , c) = 1 sonst
Modularität: Kombination der Funktoren via: +, ×, ◦
Vorverarbeitung durch Erzeugen von Zwischenzuständen:(F ◦ G)-Koalgebren ↝ (F + G)-KoalgebrenKonstruktion in extensiver Kategorie
Konstruktion des kleinsten Quotienten von c∶C → FC inKategorie mit (RegEpi,Mono)-Faktorisierungssystem
Partitionen: Pi ≤ Qi auf C , werden schrittweise verfeinertHeuristik: Welche Information wird als Nächstes weiterver-arbeitet?• Alles gleichzeitig ⇒ Qi+1 = Pi
„Final Chain Algorithmus“ [König, Küpper ’14]• „Smaller half“ ⇒ S ∈ C/Pi B ∈ C/Qi S ⊆ B mit
∣S∣ ≤ 12 ⋅ ∣B∣
Optimierung für Koalgebren in Set:Inkrementelle Berechnung der Partitionen
Wenn F zippable, d.h. wenn
F(A + B)⟶ F(A + 1) × F(1 + B) injektiv
dann: Qi+1 = Qi ∩ kerχBS Pi+1 = Pi ∩ ker(χB
S ⋅ c)(zippable nicht abgeschlossen unter: Komposition, Quotient)
Pseudocode für Verfeinerungs-Schritt,Refinement-Interface für Funktor-Spezifisches
Encoding: ♭∶FX → B(A × X)Refinement-Interface für F :init∶F1→ BA→Wupdate∶BA ×W →W × F3 ×W
Korrektheit: w ∶PX → (FX →W ). . . . . .
a1 a2 a3 a4 a5 a6
S B \ S
" "
"
Laufzeitanalyse: O(mKanten
⋅ log nZustände) für F ∈ {Pf, M(−), R(−), B, Σ}
Laufzeit: O((m + n) ⋅ log n ⋅ p(C , c))Fast immer: m ≥ nLaufzeit-Parameter p(C , c) des Refinement Interfaces:p(C , c) = log min(∣M∣,m) für M(−) wenn M nicht kürzbarp(C , c) = maxσ∈Σ ar(σ) für Polynomialfunktor Σp(C , c) = 1 sonst
Modularität: Kombination der Funktoren via: +, ×, ◦
Vorverarbeitung durch Erzeugen von Zwischenzuständen:(F ◦ G)-Koalgebren ↝ (F + G)-KoalgebrenKonstruktion in extensiver Kategorie
Konstruktion des kleinsten Quotienten von c∶C → FC inKategorie mit (RegEpi,Mono)-Faktorisierungssystem
Partitionen: Pi ≤ Qi auf C , werden schrittweise verfeinertHeuristik: Welche Information wird als Nächstes weiterver-arbeitet?• Alles gleichzeitig ⇒ Qi+1 = Pi
„Final Chain Algorithmus“ [König, Küpper ’14]• „Smaller half“ ⇒ S ∈ C/Pi B ∈ C/Qi S ⊆ B mit
∣S∣ ≤ 12 ⋅ ∣B∣
Optimierung für Koalgebren in Set:Inkrementelle Berechnung der Partitionen
Wenn F zippable, d.h. wenn
F(A + B)⟶ F(A + 1) × F(1 + B) injektiv
dann: Qi+1 = Qi ∩ kerχBS Pi+1 = Pi ∩ ker(χB
S ⋅ c)(zippable nicht abgeschlossen unter: Komposition, Quotient)
Pseudocode für Verfeinerungs-Schritt,Refinement-Interface für Funktor-Spezifisches
Encoding: ♭∶FX → B(A × X)Refinement-Interface für F :init∶F1→ BA→Wupdate∶BA ×W →W × F3 ×W
Korrektheit: w ∶PX → (FX →W ). . . . . .
a1 a2 a3 a4 a5 a6
S B \ S
" "
"
Laufzeitanalyse: O(mKanten
⋅ log nZustände) für F ∈ {Pf, M(−), R(−), B, Σ}
Laufzeit: O((m + n) ⋅ log n ⋅ p(C , c))Fast immer: m ≥ nLaufzeit-Parameter p(C , c) des Refinement Interfaces:p(C , c) = log min(∣M∣,m) für M(−) wenn M nicht kürzbarp(C , c) = maxσ∈Σ ar(σ) für Polynomialfunktor Σp(C , c) = 1 sonst
Modularität: Kombination der Funktoren via: +, ×, ◦
Vorverarbeitung durch Erzeugen von Zwischenzuständen:(F ◦ G)-Koalgebren ↝ (F + G)-KoalgebrenKonstruktion in extensiver Kategorie
Konstruktion des kleinsten Quotienten von c∶C → FC inKategorie mit (RegEpi,Mono)-Faktorisierungssystem
Partitionen: Pi ≤ Qi auf C , werden schrittweise verfeinertHeuristik: Welche Information wird als Nächstes weiterver-arbeitet?• Alles gleichzeitig ⇒ Qi+1 = Pi
„Final Chain Algorithmus“ [König, Küpper ’14]• „Smaller half“ ⇒ S ∈ C/Pi B ∈ C/Qi S ⊆ B mit
∣S∣ ≤ 12 ⋅ ∣B∣
Optimierung für Koalgebren in Set:Inkrementelle Berechnung der Partitionen
Wenn F zippable, d.h. wenn
F(A + B)⟶ F(A + 1) × F(1 + B) injektiv
dann: Qi+1 = Qi ∩ kerχBS Pi+1 = Pi ∩ ker(χB
S ⋅ c)(zippable nicht abgeschlossen unter: Komposition, Quotient)
Pseudocode für Verfeinerungs-Schritt,Refinement-Interface für Funktor-Spezifisches
Encoding: ♭∶FX → B(A × X)Refinement-Interface für F :init∶F1→ BA→Wupdate∶BA ×W →W × F3 ×W
Korrektheit: w ∶PX → (FX →W ). . . . . .
a1 a2 a3 a4 a5 a6
S B \ S
" "
"
Laufzeitanalyse: O(mKanten
⋅ log nZustände) für F ∈ {Pf, M(−), R(−), B, Σ}
Laufzeit: O((m + n) ⋅ log n ⋅ p(C , c))Fast immer: m ≥ nLaufzeit-Parameter p(C , c) des Refinement Interfaces:p(C , c) = log min(∣M∣,m) für M(−) wenn M nicht kürzbarp(C , c) = maxσ∈Σ ar(σ) für Polynomialfunktor Σp(C , c) = 1 sonst
Modularität: Kombination der Funktoren via: +, ×, ◦
Vorverarbeitung durch Erzeugen von Zwischenzuständen:(F ◦ G)-Koalgebren ↝ (F + G)-KoalgebrenKonstruktion in extensiver Kategorie
Konstruktion des kleinsten Quotienten von c∶C → FC inKategorie mit (RegEpi,Mono)-Faktorisierungssystem
Partitionen: Pi ≤ Qi auf C , werden schrittweise verfeinertHeuristik: Welche Information wird als Nächstes weiterver-arbeitet?• Alles gleichzeitig ⇒ Qi+1 = Pi
„Final Chain Algorithmus“ [König, Küpper ’14]• „Smaller half“ ⇒ S ∈ C/Pi B ∈ C/Qi S ⊆ B mit
∣S∣ ≤ 12 ⋅ ∣B∣
Optimierung für Koalgebren in Set:Inkrementelle Berechnung der Partitionen
Wenn F zippable, d.h. wenn
F(A + B)⟶ F(A + 1) × F(1 + B) injektiv
dann: Qi+1 = Qi ∩ kerχBS Pi+1 = Pi ∩ ker(χB
S ⋅ c)(zippable nicht abgeschlossen unter: Komposition, Quotient)
Pseudocode für Verfeinerungs-Schritt,Refinement-Interface für Funktor-Spezifisches
Encoding: ♭∶FX → B(A × X)Refinement-Interface für F :init∶F1→ BA→Wupdate∶BA ×W →W × F3 ×W
Korrektheit: w ∶PX → (FX →W ). . . . . .
a1 a2 a3 a4 a5 a6
S B \ S
" "
"
Laufzeitanalyse: O(mKanten
⋅ log nZustände) für F ∈ {Pf, M(−), R(−), B, Σ}
Laufzeit: O((m + n) ⋅ log n ⋅ p(C , c))Fast immer: m ≥ nLaufzeit-Parameter p(C , c) des Refinement Interfaces:p(C , c) = log min(∣M∣,m) für M(−) wenn M nicht kürzbarp(C , c) = maxσ∈Σ ar(σ) für Polynomialfunktor Σp(C , c) = 1 sonst
Modularität: Kombination der Funktoren via: +, ×, ◦
Vorverarbeitung durch Erzeugen von Zwischenzuständen:(F ◦ G)-Koalgebren ↝ (F + G)-KoalgebrenKonstruktion in extensiver Kategorie
Christoph Berkholz, Paul S. Bonsma, Martin Grohe.“Tight Lower and Upper Bounds for the Complexityof Canonical Colour Refinement”. In: TheoryComput. Syst. 60.4 (2017), S. 581–614. doi:10.1007/s00224-016-9686-0. url: https://doi.org/10.1007/s00224-016-9686-0.Christel Baier, Bettina Engelen,Mila Majster-Cederbaum. “Deciding Bisimilarity andSimilarity for Probabilistic Processes”. In: J.Comput. Syst. Sci. 60 (2000), S. 187–231.Harsh Beohar, Barbara König, Sebastian Küpper,Alexandra Silva. “Conditional Transition Systemswith Upgrades”. In: 11th International Symposiumon Theoretical Aspects of Software Engineering(TASE 2017) (2017). Full version available athttps://arxiv.org/abs/1706.02526.
Johanna Högberg, Andreas Maletti, Jonathan May.“Bisimulation Minimisation for Weighted TreeAutomata”. In: Developments in Language Theory,DLT 2007. Bd. 4588. LNCS. Springer, 2007,S. 229–241. isbn: 978-3-540-73207-5. doi:10.1007/978-3-540-73208-2. url: https://doi.org/10.1007/978-3-540-73208-2.John Hopcroft. “An n log n algorithm for minimizingstates in a finite automaton”. In: Theory ofMachines and Computations. Academic Press, 1971,S. 189–196.Barbara König, Sebastian Küpper. “GenericPartition Refinement Algorithms for Coalgebras andan Instantiation to Weighted Automata”. In:Theoretical Computer Science, IFIP TCS 2014.Bd. 8705. LNCS. Springer, 2014, S. 311–325. isbn:978-3-662-44601-0.
Timo Knuutila. “Re-describing an algorithm byHopcroft”. In: Theor. Comput. Sci. 250 (2001),S. 333–363. issn: 0304-3975.Robert Paige, Robert E. Tarjan. “Three partitionrefinement algorithms”. In: SIAM J. Comput. 16.6(1987), S. 973–989.Antti Valmari. “Bisimilarity Minimization inO(m log n) Time”. In: Applications and Theory ofPetri Nets, PETRI NETS 2009. Bd. 5606. LNCS.Springer, 2009, S. 123–142. isbn:978-3-642-02423-8.Antti Valmari, Giuliana Franceschinis. “SimpleO(m log n) Time Markov Chain Lumping”. In: Toolsand Algorithms for the Construction and Analysis ofSystems, TACAS 2010. Bd. 6015. LNCS. Springer,2010, S. 38–52.