Mermaid

polynomial.mermaid.Mermaid
See theMermaid companion trait
object Mermaid

Attributes

Companion
trait
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
Mermaid.type

Members list

Type members

Types

type CustomLabels[X] = X match { case PolyMap[p, q, y] => CustomLabels[(p[y], q[y])] case (Interface[a1, b1, y1], Interface[a2, b2, y2]) => (String, String) case (Store[s, y1], Interface[a1, b1, a2, b2, y2]) => (String, String) case (Store[s, y1], Interface[a, b, y2]) => (String, String) case (Store[s1, y1], Store[s2, y2]) => (String, String) case (Tensor[o, p, y1], Interface[q, r, y2]) => (CustomLabels[(o[y1], p[y1])], String) case (Tensor[o, p, y1], Tensor[q, r, y2]) => (CustomLabels[(o[y1], p[y1])], CustomLabels[(q[y2], r[y2])]) }
type ParamLabels[X] = X match { case Interface[a, b, y] => (String, String) case Interface[a1, b1, a2, b2, y] => ((String, String), (String, String)) case Store[s, y] => String }
type PolynomialLabels[X] = X match { case Interface[a1, b1, a2, b2, y] => String case Interface[a, b, y] => String case Store[s, y] => String }

Givens

Givens

given mealyStoreToMono[S, A, B](using P: MermaidP[[_] =>> Store[S, _$10]], Q: MermaidQ[[_] =>> Interface[A, A => B, _$11]]): Mermaid[[_] =>> PolyMap[[_] =>> Store[S, _$12], [_] =>> Interface[A, A => B, _$13], _$14]]
given monoToMono[A1, B1, A2, B2](using P: MermaidP[[_] =>> Interface[A1, B1, _$18]], Q: MermaidQ[[_] =>> Interface[A2, B2, _$19]]): Mermaid[[_] =>> PolyMap[[_] =>> Interface[A1, B1, _$20], [_] =>> Interface[A2, B2, _$21], _$22]]
given mooreStoreToBi[S, A1, B1, A2, B2](using P: MermaidP[[_] =>> Store[S, _$26]], Q: MermaidQ[[_] =>> Interface[A1, B1, A2, B2, _$27]]): Mermaid[[_] =>> PolyMap[[_] =>> Store[S, _$28], [_] =>> Interface[A1, B1, A2, B2, _$29], _$30]]
given mooreStoreToMono[S, A, B](using P: MermaidP[[_] =>> Store[S, _$2]], Q: MermaidQ[[_] =>> Interface[A, B, _$3]]): Mermaid[[_] =>> PolyMap[[_] =>> Store[S, _$4], [_] =>> Interface[A, B, _$5], _$6]]
given mooreTensoredMonomialToMonomial[A, B, C](using P1: MermaidP[[_] =>> Interface[(A, B), C, _$62]], P2: MermaidP[[_] =>> Interface[C, B, _$63]], Q: MermaidQ[[_] =>> Interface[A, C, _$64]]): Mermaid[[_] =>> PolyMap[[_] =>> Interface[(A, B), C, _$65] [_] =>> Interface[C, B, _$66], [_] =>> Interface[A, C, _$67], _$68]]
given mooreTensoredMonomialToTensoredMonomial[A1, B1, A2, B2, C1, D1, C2, D2](using P1: MermaidP[[_] =>> Interface[A1, B1, _$48]], P2: MermaidP[[_] =>> Interface[A2, B2, _$49]], Q1: MermaidQ[[_] =>> Interface[C1, D1, _$50]], Q2: MermaidQ[[_] =>> Interface[C2, D2, _$51]]): Mermaid[[_] =>> PolyMap[[_] =>> Interface[A1, B1, _$52] [_] =>> Interface[A2, B2, _$53], [_] =>> Interface[C1, D1, _$54] [_] =>> Interface[C2, D2, _$55], _$56]]
given mooreTensoredStoreToTensoredMonomial[S1, S2, A1, B1, A2, B2](using P1: MermaidP[[_] =>> Store[S1, _$34]], P2: MermaidP[[_] =>> Store[S2, _$35]], Q1: MermaidQ[[_] =>> Interface[A1, B1, _$36]], Q2: MermaidQ[[_] =>> Interface[A2, B2, _$37]]): Mermaid[[_] =>> PolyMap[[_] =>> Store[S1, _$38] [_] =>> Store[S2, _$39], [_] =>> Interface[A1, B1, _$40] [_] =>> Interface[A2, B2, _$41], _$42]]