AlgebraicJulia/Catlab.jl

Bug in `oapply` for multispans

samuelsonric opened this issue · 2 comments

Julia 1.9, Catlab v0.14.17

When I run the following lines of code, I see an error Feet of spans are not equal: FinSet(3) != FinSet(4775367456).

using Catlab, Catlab.CategoricalAlgebra, Catlab.Programs, Catlab.WiringDiagrams

wd = @relation (x,) begin
    f(x, y)
end

span = Multispan([
    FinFunction([1, 2, 3]),
    FinFunction([1, 2, 3])])

oapply(wd, [span])

It looks like there is something wrong with line 52 in this file. When Ob = FinSetInt, the function call isassigned(junction_feet, j) is always true.

Thanks for the report. I can also reproduce this bug on Catlab master. My guess is that it's actually a bug in ACSets.jl but we'll see.

Nevermind, it's a bug in the oapply method itself. I'm posting a fix.