Gibt es eine Möglichkeit, Vererbung zwischen Sortierungen in z3 zu definieren? (Ich benutze die Python-API)Sortiervererbung in z3
Ich versuche, zwei verschiedene Arten von Ereignissen zu modellieren, Ereignisse zu schreiben und Ereignisse zu lesen; für jede von ihnen verwende ich eine Sort (WriteSort und ReadSort). Allerdings hätte ich gerne eine "Summe" Sort (EventSort), die entweder ein Schreib- oder ein Leseereignis ist.
ich definieren Funktionen mit folgender Domain:
f1 = Function('f1', WriteSort, WriteSort, BoolSort())
f2 = Function('f2', ReadSort, ReadSort, BoolSort())
f3 = Function('f3', EventSort, EventSort, BoolSort())
Eine Möglichkeit Veranstaltung wie und abstrakten Datentyp, aber dann die Domäne aller meiner Funktionen sein sollte zu definieren wäre (Veranstaltung x Veranstaltung) und die einzige Möglichkeit, solche Domains einzuschränken, ist es manuell zu machen.
Gibt es trotzdem beide WriteSort und ReadSort als "subsort" von Veranstaltung zu definieren?