den Begriff der Untergruppen als Prädikate verwenden,Realisierung Ebene polymorphe Subsets innerhalb Aufzeichnungen
ℙ : ∀ {b a} → Set a → Set (a ⊔ suc b)
ℙ {b} {a} X = X → Set b
Ich mag würde Strukturen mit einem Prädikat auf Subsets ausgestattet betrachten,
record SetWithAPredicate {a c} : Set {!!} where
field
S : Set a
P : ∀ {b} → ℙ {b} S → Set c
Dies ist eine schlecht Geformter Aufbau aufgrund der in ℙ
verwendeten Pegelquantifizierung. Alles funktioniert gut, wenn ich S, P
als Parameter für ein Modul verwende, aber ich möchte, dass es sich um Datensätze handelt, damit ich Konstruktionen für sie erstellen und Instanzen davon angeben kann.
Ich habe ein paar andere Dinge versucht, wie z. B. das Verschieben der Ebene b
von ℙ
in die Definition über ein existentielles, aber dann führte das zu metavarable Problem. Ich habe versucht, auch die Art der P
ändern,
P : ℙ {a} S → Set c
aber dann kann ich nicht fragen, mehr für, sagen wir, die leere Menge die Eigenschaft haben:
P-⊥ : P(λ _ → ⊥)
Dies wird seit Set != Set a
nicht gut getippt - - Ich muss zugeben, ich habe versucht, Level.lift
hier zu verwenden, habe es aber versäumt. Allgemeiner erlaubt dies auch nicht, um Verschlusseigenschaften auszudrücken, wie P
ist unter willkürlichen Gewerkschaften geschlossen --- das ist, was ich wirklich interessiert bin.
Ich verstehe, dass ich Ebene Polymorphie einfach vermeiden kann,
ℙ' : ∀ {a} → Set a → Set (suc zero ⊔ a)
ℙ' {a} X = X → Set
aber dann einfache Elemente wie die größte Teilmenge,
ℙ'-⊤ : ∀ {i} {A : Set i} → ℙ' A
ℙ'-⊤ {i} {A} = λ e → Σ a ∶ A • a ≡ e
-- Σ_∶_•_ is just syntax for Σ A (λ a → ...)
nicht einmal typecheck!
Vielleicht habe ich den Begriff der Teilmenge als Prädikat nicht richtig erkannt - jeder Rat wäre willkommen. Vielen Dank!
Was meinen Sie mit "unter Gewerkschaften geschlossen"? Jedes 'P: ℙ A' ist wie eine Untermenge von' A', aber die üblichen Begriffe der Vereinigung wirken auf 'Set'-s, nicht auf Elemente von' A', außer 'A = Set i'. –
Die Vereinigung von Teilmengen kann als Existenz-/Summenart realisiert werden; insbesondere A ∪ B = λ e → A e ⊎ B e –
Aber dann sind 'A' oder' B' nicht unter Vereinigung geschlossen, da ihre Vereinigung noch eine andere Teilmenge/Eigenschaft ist. –