私は次のように少し合金の仕様を持っています:
sig class {parents : set class}
fact f1{all p:class | not p in p.^parents}
run{} for exactly 4 class
最初に、alloyはf1をブール行列に変換し、次にそれに対してクロージャ操作を実行すると思いました。しかし、この種の変換は行わないようです(ブール行列の作成前に何かを実行しているように見えます)。では、このf1はどのように正確に翻訳されるのでしょうか?関係述語を使用していますか?私は合金の翻訳について非常に興味があります。