You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
GoodHypergraphCategory was taking a _very_ long time to compile
what's more, it triggered a bug in the compiler relating to how
indices are tracked in lambda declarations. This problem is supposed
to be resolved with #4851
(idris-lang/Idris-dev#4851)
This bypasses the bug and improves compile times as well as add
error reporting on the TDef returned by the API in order to more
easily debug the source of failures when checking as petrinet
description.
(\a, b, (Element g gg) => subsetEq (hgLeftId a b g))
43
78
(\a, b, (Element g gg) => subsetEq (hgRightId a b g))
44
-
(\a, b, c, d, (Element f ff), (Element g gg), (Element h hh) => subsetEq (hgAssoc a b c d f g h))
45
-
79
+
goodHypergraphCatComposeProof
46
80
goodSingleton: {s : Type} -> {ai, ao : s ->List o} -> (edge : s) -> mor (goodHypergraphCat s ai ao) (ai edge) (ao edge)
47
81
goodSingleton x =Element (Hypergraph.singleton x) (Singleton x)
48
82
49
83
goodPermutation: {s : Type} -> {ai, ao : s ->List o} -> Perm k m -> mor (goodHypergraphCat s ai ao) k m
50
84
goodPermutation p =Element (permutation p) (Permutation p)
51
85
52
-
goodHyperGraphTensor: (s : Type) -> (ai, ao : s ->List o) -> CFunctor (productCategory (goodHypergraphCat s ai ao) (goodHypergraphCat s ai ao)) (goodHypergraphCat s ai ao)
86
+
87
+
------------------------------------
88
+
-- GoodHyperGraphTensor functions --
89
+
------------------------------------
90
+
91
+
tensorMor: (List o, List o) ->List o
92
+
tensorMor a =Basics.fst a ++Basics.snd a
93
+
94
+
goodHypergraphTensorMor: {s : Type} -> {ai, ao : s ->List o} -> (a : (List o, List o))
95
+
-> (b: (List o, List o))
96
+
-> (ProductMorphism (goodHypergraphCat s ai ao)
97
+
(goodHypergraphCat s ai ao) a b)
98
+
-> mor (goodHypergraphCat s ai ao) (tensorMor a) (tensorMor b)
composeGoodHypergraphProof fi fo gi go hi ho (Element f ff) (Element g gg) (Element h hh) =?what -- subsetEq (hgTensorAssociative fi fo gi go hi ho f g h))
goodHypergraphSMC s ai ao =MkStrictMonoidalCategory
@@ -64,4 +143,4 @@ goodHypergraphSMC s ai ao = MkStrictMonoidalCategory
64
143
(\as =>Refl)
65
144
(\as => appendNilRightNeutral as)
66
145
appendAssociative
67
-
?proofgoodhypergraph -- (\fi, fo, gi, go, hi, ho, (Element f ff), (Element g gg), (Element h hh) => subsetEq (hgTensorAssociative fi fo gi go hi ho f g h))
0 commit comments