Existe-t-il des procédures de semi-décision pour cette théorie?

10

J'ai la théorie typée suivante

|- 1_X : X -> X
f : A -> B, g : B -> C |- compose(g,f) : A -> C
F, f : A -> B |- apply(F,f) : F(A) -> F(B)

avec des équations pour tous les termes:

f : A -> B, g : B -> C, h : C -> D |- compose(h,compose(f,g)) = compose(compose(h,f),g)
f : A -> B |- compose(f,1_A) = f
f : A -> B |- compose(1_B,f) = f
F |- apply(F,1_X) = 1_F(X)
f, f : A -> B, g : B -> C |- apply(F,compose(g,f)) = compose(apply(F,g),apply(F,f))

Je recherche une procédure de semi-décision qui pourra prouver des équations dans cette théorie étant donné un ensemble d'équations hypothétiques. Il n'est pas non plus clair si une procédure de décision complète existe ou non: il ne semble pas y avoir de moyen de coder le mot problème pour les groupes. Neel Krishnaswami a montré comment encoder le mot problème en cela, donc le problème général est indécidable. L'associativité et la sous-théorie de l'identité peuvent être facilement décidées en utilisant un modèle monoïde de la théorie, tandis que le problème complet est plus difficile que la fermeture de congruence. Toutes les références ou pointeurs seraient les bienvenus!


Voici un exemple explicite de quelque chose que nous espérons pouvoir prouver automatiquement:

f : X -> Y, F, G,
a : F(X) -> G(X), b : G(X) -> F(X),
c : F(Y) -> G(Y), d : G(Y) -> F(Y),
compose(a,b) = 1_F(X), compose(b,a) = 1_G(X),
compose(c,d) = 1_F(Y), compose(d,c) = 1_G(Y),
compose(c,apply(F,f)) = compose(apply(G,f),a)
|- compose(d,apply(G,f)) = compose(apply(F,f),b)
quanta
la source

Réponses:

7

Il me semble que vous pouvez coder le mot problème pour les groupes dans la théorie des catégories de la manière suivante. Choisissez un objet , puis pour chaque générateur du groupe, introduisez deux morphismes , et supposez les égalités et . Ensuite, vous pouvez définir l'unité comme étant la carte d'identité, la composition comme la multiplication de groupe et la négation d'une chaîne comme la chaîne amorcée inversée . Ce problème est donc indécidable.Xx x = 1 X x x = 1 X x y z z y x x,x:XXxx=1Xxx=1Xxyzzyx

Cependant, le mot problème peut être résolu pour de nombreux groupes spécifiques, donc si vous avez plus de détails sur le problème, cela peut vous aider. En particulier, une idée de la théorie des groupes qui pourrait vous aider beaucoup est que les présentations absolues de groupes générés de manière finie sont résolubles - les inéquations peuvent tailler suffisamment l'espace de recherche pour rendre la théorie décidable.

EDIT: Une autre pensée que j'avais était que l'ajout d'irrélations pourrait toujours être un outil utile pour vous, même si les modèles concrets qui vous intéressent valident les équations. C'est parce que dans des situations catégoriques, vous ne voulez souvent que des équations «agréables», pour une certaine valeur de nice, et vous pouvez utiliser les inéquations pour exclure des solutions trop mauvaises pour vous. Votre procédure de décision est peut-être encore incomplète, mais vous pourriez obtenir une caractérisation plus naturelle des solutions qu'elle peut trouver que "nous recherchons des arbres de preuve possibles jusqu'à une profondeur de 7".

Bonne chance; ce truc de foncteur que vous faites est plutôt cool!

Neel Krishnaswami
la source
Magnifique! J'ai mis à jour le libellé pour tenir compte de cela, je vais examiner cette idée de présentations absolues. Merci.
quanta